---
id: "CVE-2026-102927"
kind: "vulnerability"
aliases: ["CVE-2026-102927"]
title: "HedgeDoc: invalid note permission values can widen who reads or edits"
severity: "medium"
cvss: 5.9
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["hedgedoc", "package", "self-hosted", "sqlite"]
not_affected_if: ["hedgedoc-1.11.1-or-later"]
published_at: "2026-11-05T18:16:59+00:00"
first_seen_at: "2026-11-05T18:40:08+00:00"
updated_at: "2026-11-05T18:40:40+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-102927", "first_seen_at": "2026-11-05T18:40:08+00:00"}]
exploit_sources: []
---

# HedgeDoc: invalid note permission values can widen who reads or edits

HedgeDoc's WebSocket permission handler accepts permission strings outside its allowed set, and the viewing and editing checks fall through to permissive behavior for them. A note owner can make a note readable or writable more broadly than intended, and on SQLite the invalid value persists.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check the HedgeDoc version in use; affected versions are those before `1.11.1`.
- Check the database engine in use; SQLite deployments can persist the invalid value.

## Fix

- HedgeDoc: upgrade to `1.11.1`.

## Timeline

- 2026-11-05T18:40:08+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-102927

## Documents

- [advisory] Vendor advisory: github.com https://github.com/hedgedoc/hedgedoc/security/advisories/GHSA-93w7-49m2-cqwg
- [fix] Patch: github.com https://github.com/hedgedoc/hedgedoc/commit/0dda149c7f528a7e98a34a8459b7afb23c90a05b
- [fix] Release notes: github.com https://github.com/hedgedoc/hedgedoc/releases/tag/1.11.1

## From the sources

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.

---

_Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai_
