/

CVE-2026-104444

Severity:

HIGH RISK

(7.1)

Authorization Bypass (CWE-639) in YesWiki Comments API

CVE-2026-104444

Deferred

Vulnerability type

Category:

Authorization Bypass

CWE:

CWE-639

Impact:

Unauthorized Content Modification

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

YesWiki contains an authorization bypass in the comments API that can let an authenticated, low-privilege user modify pages or comments they should not control. The issue becomes risky when the API trusts a user-supplied page tag to identify the target without consistently enforcing the target page's write permissions.

Affected context

The vulnerability occurs in YesWiki deployments where the comments API editComment route processes user-controlled page identifiers and does not reliably apply authorization checks to the referenced target. Affected operations may permit changes to pages or comments outside the authenticated user's permitted scope, including content replacement or changes to existing parent-child relationships.

Exploit preconditions

  • Attack surface: The YesWiki comments API, specifically the comment-editing route
  • Required access: An authenticated account with otherwise limited privileges
  • Trigger point: Processing an edit request that references a target page or comment through a user-controlled page tag
  • Why exploitation is possible: Authorization is evaluated against attacker-controlled context rather than being enforced against the actual target resource and its page-level write ACL

Why this happens

The underlying bug is an authorization design failure involving a user-controlled resource reference. The application accepts a supplied page tag and fails to establish that the authenticated user has write permission for the referenced page or comment before applying the requested change. This maps to CWE-639: Authorization Bypass Through User-Controlled Key, because access control decisions rely on an identifier supplied by the requester instead of a server-validated authorization context.

Potential impact

  • Unauthorized replacement of page or comment content
  • Defacement or loss of legitimate user-generated material
  • Reparenting of pages or comments to alter site structure
  • Integrity violations across pages outside the user's intended scope
  • Possible disruption of workflows that depend on trusted page content

General mitigation guidance

Mitigation generally focuses on enforcing authorization at the server-side resource boundary rather than trusting identifiers supplied by clients.

Common defensive patterns include:

  • Resolve the target resource server-side and verify its current page-level write ACL before any modification
  • Apply authorization checks consistently to both direct targets and related parent resources
  • Avoid deriving access decisions from attacker-controlled page tags or similar keys
  • Use deny-by-default permissions and least-privilege roles for authenticated users
  • Keep authorization checks close to the data mutation and make them consistent across API routes
  • Record ownership and authorization-relevant relationships in trusted server-side state

How teams detect issues like this

Organizations can look for this class of issue through:

  • Static analysis and code review checks for authorization decisions based directly on request parameters
  • Review of API handlers that accept page tags, object identifiers, or parent references
  • Tests that attempt cross-page updates using accounts with different permission scopes
  • Monitoring for unusual edits affecting pages outside an account's normal activity
  • Policy enforcement requiring object-level authorization checks before every update and relationship change
  • Automated security testing or review tools that identify missing access-control checks and insecure direct object references

Sources

SourceLink
github.comgithub.com/YesWiki/yeswiki/security/advisories/GHSA-894w-63wr-8x5r
vulncheck.comvulncheck.com/advisories/yeswiki-before-4.6.7-authorization-bypass-via-comments-api-editcomment

Frequently asked

questions

The described issue requires authentication, but the account may have relatively low privileges. The key requirement is access to the affected comments API route.

An attacker generally needs the ability to submit comment-editing requests. Successful exploitation depends on the application failing to enforce write permissions for the referenced victim page or comment.

Resolve the target resource on the server and perform an object-level authorization check against that resource immediately before applying the change. Do not use a client-supplied page tag as proof of authorization.

Use deny-by-default access control, test cross-resource operations with multiple roles, and require every API mutation and relationship change to validate permissions for the actual target object.

Find out what's already
exploitable in your codebase.