Description
HedgeDoc is an open source, real-time collaborative markdown notes application. Prior to 1.11.1, the WebSocket permission handler allows a note owner to store strings outside the supported freely, editable, limited, locked, protected, and private permission values. The viewing and editing checks handle only known values and can otherwise fall through to permissive behavior, making a note readable or writable more broadly than intended. SQLite deployments can persist the invalid value because the database column does not strictly enforce the set, while MySQL and PostgreSQL reject the database update but can leave the in-memory note state inconsistent for connected users until reload or cache eviction. Exploitation requires the note owner to intentionally submit an invalid permission value, and the owner could already choose a legitimate permissive setting, which limits the practical security impact. This issue is fixed in version 1.11.1.
Published: 2026-11-05
Score: 5.9 Medium
EPSS: n/a
KEV: No
Impact: Unauthorized extended permissions
Action: Patch
AI Analysis

Impact

The vulnerability in HedgeDoc allows a note owner to submit permission values that are not part of the supported set, causing the permission checks to fall through to permissive behavior. This can make a note readable or writable by users more broadly than intended, thereby extending authorization beyond the owner’s control. The weakness arises from insufficient input validation, leading to an unauthorized escalation of permission levels.

Affected Systems

This issue impacts HedgeDoc installations of versions prior to 1.11.1. It is present in SQLite, MySQL, and PostgreSQL deployments. In SQLite the database column does not enforce the limited set, permitting persistent invalid values. In MySQL or PostgreSQL the database rejects the update but the in-memory state may become inconsistent for connected users until a reload or cache eviction.

Risk and Exploitability

The CVSS score is 5.9, indicating moderate severity. No EPSS score is available and the CVE is not listed in KEV. Exploitation requires the note owner to intentionally submit an invalid permission value. Because owners can already set legitimate permissive settings, the practical impact is limited to an owner’s own notes. However, the permissive fallback could expose data to other collaborators if a note owner misconfigures permissions, and the mismatch between in-memory and persisted state may allow unauthorized reading or editing of a note until the affected user reloads the page.

Generated by OpenCVE AI on November 5, 2026 at 18:21 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade HedgeDoc to version 1.11.1 or later to fix the permission validation bug.
  • Add or verify database constraints (e.g., CHECK constraints or enum types) that enforce the allowed permission values for MySQL and PostgreSQL deployments.
  • Restrict permission changes so that only the documented values are accepted, for example by disabling permission modification for non-owners or adding client‑side validation that rejects arbitrary strings.
  • As a temporary measure, reload or evict the note cache for affected users after a permission change to sync in-memory state with the database and close the consistency window.

Generated by OpenCVE AI on November 5, 2026 at 18:21 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 05 Nov 2026 17:45:00 +0000

Type Values Removed Values Added
Description HedgeDoc is an open source, real-time collaborative markdown notes application. Prior to 1.11.1, the WebSocket permission handler allows a note owner to store strings outside the supported freely, editable, limited, locked, protected, and private permission values. The viewing and editing checks handle only known values and can otherwise fall through to permissive behavior, making a note readable or writable more broadly than intended. SQLite deployments can persist the invalid value because the database column does not strictly enforce the set, while MySQL and PostgreSQL reject the database update but can leave the in-memory note state inconsistent for connected users until reload or cache eviction. Exploitation requires the note owner to intentionally submit an invalid permission value, and the owner could already choose a legitimate permissive setting, which limits the practical security impact. This issue is fixed in version 1.11.1.
Title HedgeDoc: Missing validation of incoming permission values on change
Weaknesses CWE-20
CWE-284
References
Metrics cvssV4_0

{'score': 5.9, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:P/VC:L/VI:H/VA:N/SC:N/SI:N/SA:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-11-05T17:29:59.103Z

Reserved: 2026-09-29T20:24:43.339Z

Link: CVE-2026-102927

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-11-05T18:16:59.140

Modified: 2026-11-05T18:16:59.140

Link: CVE-2026-102927

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-05T18:30:17Z

Weaknesses
  • CWE-20

    Improper Input Validation

  • CWE-284

    Improper Access Control