Read the docs
TI-2023-19867 Aliases CVE-2023-38487

HedgeDoc API allows to hide existing notes

Priority HIGH 69CWE-289Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
—
Confidentiality · integrity · availability
None · High · Low
Fix status
Fixed

Attack profile from CVSS 3.1 · NVD. Fix status from CNA.

Summary

HedgeDoc is software for creating real-time collaborative markdown notes. Prior to version 1.9.9, the API of HedgeDoc 1 can be used to create notes with an alias matching the ID of existing notes. The affected existing note can then not be accessed anymore and is effectively hidden by the new one. When the freeURL feature is enabled (by setting the `allowFreeURL` config option or the `CMD_ALLOW_FREEURL` environment variable to `true`), any user with the appropriate permissions can create a note by making a POST request to the `/new/<ALIAS>` API endpoint. The `<ALIAS>` parameter can be set to the ID of an existing note. HedgeDoc did not verify whether the provided `<ALIAS>` value corresponds to a valid ID of an existing note and always allowed creation of the new note. When a visitor tried to access the existing note, HedgeDoc will first search for a note with a matching alias before it searches using the ID, therefore only the new note can be accessed. Depending on the permission settings of the HedgeDoc instance, the issue can be exploited only by logged-in users or by all (including non-logged-in) users. The exploit requires knowledge of the ID of the target note. Attackers could use this issue to present a manipulated copy of the original note to the user, e.g. by replacing the links with malicious ones. Attackers can also use this issue to prevent access to the original note, causing a denial of service. No data is lost, as the original content of the affected notes is still present in the database. This issue was fixed in version 1.9.9. As a workaround, disabling freeURL mode prevents the exploitation of this issue. The impact can be limited by restricting freeURL note creation to trusted, logged-in users by enabling `requireFreeURLAuthentication`/`CMD_REQUIRE_FREEURL_AUTHENTICATION`.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00794 56th percentileScored 2026-11-07
Public exploit Yes 1 exploit referenceTagged by NVD
Fix Fixed hedgedoc (hedgedoc): 1.9.9

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
hedgedochedgedocbefore 1.9.91.9.9Patch availableCNA
  • hedgedoc Vendorhedgedoc Affected before 1.9.9 Fixed in 1.9.9 Patch available CNA

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:hedgedoc:hedgedoc:*:*:*:*:*:*:*:*before 1.9.9Vulnerablehedgedoc
  • cpe:2.3:a:hedgedoc:hedgedoc:*:*:*:*:*:*:*:* Versions before 1.9.9 Vulnerable ·hedgedoc

Remediation

  • Fix · CNA hedgedoc (hedgedoc) Fixed in 1.9.9

Timeline

  1. 2026-10-02 Threatist record created from CVE-2023-38487

References

  • TI-2024-30379 MySQL & free URL mode allows to hide existing notes in hedgedoc CVSS 3.1MEDIUM 6.5
  • TI-2021-10188 PDF export allows arbitrary file reads CVSS 3.1CRITICAL 10.0
  • TI-2020-16108 Stored XSS in mermaid diagrams CVSS 3.1HIGH 8.7
  • TI-2021-10211 Improper Neutralization of Script-Related HTML Tags in Notes CVSS 3.1HIGH 8.1
  • TI-2021-16561 XSS vector in slide mode speaker-view CVSS 3.1HIGH 8.1
  • TI-2020-16107 Arbitary file upload CVSS 3.1HIGH 7.5
See all 12 →

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences