/

CVE-2026-116876

Severity:

HIGH RISK

(7.1)

Improper Authorization (CWE-862) in Semantic MediaWiki

CVE-2026-116876

Analyzed

Vulnerability type

Category:

Improper Authorization

CWE:

CWE-862

Impact:

Unauthorized Persistent Page Protection

Severity:

HIGH RISK

(7.1)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

Semantic MediaWiki contains an improper authorization vulnerability in its edit-protection handling, allowing ordinary editors to apply permanent edit and move restrictions to pages when the relevant feature is enabled. This can prevent other editors and administrators from modifying or moving affected pages.

Semantic MediaWiki contains an improper authorization vulnerability in its edit-protection handling, allowing ordinary editors to apply permanent edit and move restrictions to pages when the relevant feature is enabled. This can prevent other editors and administrators from modifying or moving affected pages.

Affected context

The issue occurs in Semantic MediaWiki deployments where the $smwgEditProtectionRight setting is enabled and the EditProtectionUpdater processes an Is edit protected annotation. Under these conditions, an editor's ability to add the annotation may result in indefinite restrictions being applied without an appropriate authorization check.

The issue occurs in Semantic MediaWiki deployments where the $smwgEditProtectionRight setting is enabled and the EditProtectionUpdater processes an Is edit protected annotation. Under these conditions, an editor's ability to add the annotation may result in indefinite restrictions being applied without an appropriate authorization check.

Exploit preconditions

  • Attack surface: Semantic MediaWiki page editing and annotation processing
  • Required access: An authenticated account with ordinary editor permissions
  • Trigger point: Adding an Is edit protected annotation to a page
  • Configuration condition: $smwgEditProtectionRight must be enabled
  • Why exploitation is possible: The protection update path applies edit and move restrictions without verifying that the author has the required authorization
  • Attack surface: Semantic MediaWiki page editing and annotation processing
  • Required access: An authenticated account with ordinary editor permissions
  • Trigger point: Adding an Is edit protected annotation to a page
  • Configuration condition: $smwgEditProtectionRight must be enabled
  • Why exploitation is possible: The protection update path applies edit and move restrictions without verifying that the author has the required authorization

Why this happens

The vulnerability results from an authorization check being omitted from the code path that converts an annotation into page restrictions. The application trusts the editor's ability to submit the annotation but does not independently verify whether that user is allowed to impose indefinite edit and move protection. This behavior maps to CWE-862: Missing Authorization, where a security-sensitive operation is performed without enforcing the required permission.

The vulnerability results from an authorization check being omitted from the code path that converts an annotation into page restrictions. The application trusts the editor's ability to submit the annotation but does not independently verify whether that user is allowed to impose indefinite edit and move protection. This behavior maps to CWE-862: Missing Authorization, where a security-sensitive operation is performed without enforcing the required permission.

Potential impact

  • Ordinary editors may permanently restrict page editing and movement
  • Other editors may be unable to update affected pages
  • Administrators may be blocked from normal page-management workflows
  • Content availability and editorial operations could be disrupted
  • Unauthorized page locking could be used to support vandalism or denial-of-service objectives
  • Ordinary editors may permanently restrict page editing and movement
  • Other editors may be unable to update affected pages
  • Administrators may be blocked from normal page-management workflows
  • Content availability and editorial operations could be disrupted
  • Unauthorized page locking could be used to support vandalism or denial-of-service objectives

General mitigation guidance

Mitigation generally focuses on enforcing authorization at the point where page-protection state is created or updated.

Common defensive patterns include:

  • Require an explicit, server-side permission check before applying edit or move restrictions
  • Treat annotations and other user-controlled metadata as requests rather than trusted authorization decisions
  • Ensure protection duration and scope are validated against the requesting user's privileges
  • Apply least-privilege permissions to editorial roles and configuration settings
  • Log and review changes to page-protection state
  • Provide controlled administrative recovery paths for improperly protected pages

Mitigation generally focuses on enforcing authorization at the point where page-protection state is created or updated.

Common defensive patterns include:

  • Require an explicit, server-side permission check before applying edit or move restrictions
  • Treat annotations and other user-controlled metadata as requests rather than trusted authorization decisions
  • Ensure protection duration and scope are validated against the requesting user's privileges
  • Apply least-privilege permissions to editorial roles and configuration settings
  • Log and review changes to page-protection state
  • Provide controlled administrative recovery paths for improperly protected pages

How teams detect issues like this

Detection can include:

  • Static analysis and code review for state-changing handlers that lack centralized authorization checks
  • Review of annotation-processing code for direct updates to protection or access-control state
  • Tests confirming that ordinary editors cannot create indefinite restrictions
  • Monitoring for unusual protection changes, especially those initiated by low-privilege accounts
  • Policy enforcement requiring authorization tests for every security-sensitive state transition
  • Automated review tools that flag permission checks occurring only in client-side or preliminary validation paths

Detection can include:

  • Static analysis and code review for state-changing handlers that lack centralized authorization checks
  • Review of annotation-processing code for direct updates to protection or access-control state
  • Tests confirming that ordinary editors cannot create indefinite restrictions
  • Monitoring for unusual protection changes, especially those initiated by low-privilege accounts
  • Policy enforcement requiring authorization tests for every security-sensitive state transition
  • Automated review tools that flag permission checks occurring only in client-side or preliminary validation paths

Sources

SourceLink
github.comgithub.com/SemanticMediaWiki/SemanticMediaWiki/commit/d2a198f42184373bb8604450c46a13a2c28eafa3
github.comgithub.com/SemanticMediaWiki/SemanticMediaWiki/security/advisories/GHSA-9824-67pm-c29j
vulncheck.comvulncheck.com/advisories/semantic-mediawiki-2.5.0-before-7.3.1-missing-authorization-via-is-edit-protected

Frequently asked

questions

Yes. When the relevant configuration is enabled, an ordinary editor may be able to trigger the vulnerable protection-update behavior.

No. The described attack requires an authenticated account with permission to edit or add the relevant annotation.

Enforce a server-side authorization check immediately before applying edit or move restrictions, including checks for protection duration and scope.

Treat user-controlled annotations as untrusted requests, centralize authorization logic, test low-privilege roles, and monitor security-sensitive page-state changes.

Yes. When the relevant configuration is enabled, an ordinary editor may be able to trigger the vulnerable protection-update behavior.

No. The described attack requires an authenticated account with permission to edit or add the relevant annotation.

Enforce a server-side authorization check immediately before applying edit or move restrictions, including checks for protection duration and scope.

Treat user-controlled annotations as untrusted requests, centralize authorization logic, test low-privilege roles, and monitor security-sensitive page-state changes.

Find out what's already
exploitable in your codebase.