CVE catalog

CVE-2023-26485

cmark-gfm vulnerabilities

[CVE catalog]

Severity
High · CVSS 7.5CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Published
Source
[NVD] · [CVE record]
EPSS
1.03% · Oct 25, 2026

cmark-gfm is GitHub's fork of cmark, a CommonMark parsing and rendering library and program in C. A polynomial time complexity issue in cmark-gfm may lead to unbounded resource exhaustion and subsequent denial of service. This CVE covers quadratic complexity issues when parsing text which leads with either large numbers of `_` characters. This issue has been addressed in version 0.29.0.gfm.10. Users are advised to upgrade. Users unable to upgrade should validate that their input comes from trusted sources. ### Impact A polynomial time complexity issue in cmark-gfm may lead to unbounded resource exhaustion and subsequent denial of service. ### Proof of concept ``` $ ~/cmark-gfm$ python3 -c 'pad = "_" * 100000; print(pad + "." + pad, end="")' | time ./build/src/cmark-gfm --to plaintext ``` Increasing the number 10000 in the above commands causes the running time to increase quadratically. ### Patches This vulnerability have been patched in 0.29.0.gfm.10. ### Note on cmark and cmark-gfm XXX: TBD [cmark-gfm](https://github.com/github/cmark-gfm) is a fork of [cmark](https://github.com/commonmark/cmark) that adds the GitHub Flavored Markdown extensions. The two codebases have diverged over time, but share a common core. These bugs affect both `cmark` and `cmark-gfm`. ### Credit We would like to thank @gravypod for reporting this vulnerability. ### References https://en.wikipedia.org/wiki/Time_complexity ### For more information If you have any questions or comments about this advisory: * Open an issue in [github/cmark-gfm](https://github.com/github/cmark-gfm)

Vulnerable and fixed packages

Distribution-reported package versions and fixes. These do not depend on matching against the OpenFactory package catalog.

DistributionPackageReleaseVersionStatus
Debiancmark-gfmsid0.29.0.gfm.13-7.1fixed
Debiancmark-gfmforky0.29.0.gfm.13-7.1fixed
Debiancmark-gfmtrixie0.29.0.gfm.13-4fixed
Debiancmark-gfmbookworm0.29.0.gfm.6-6vulnerable
Debianpython-cmarkgfmsid2025.10.22-2fixed
Debianpython-cmarkgfmforky2025.10.22-2fixed
Debianpython-cmarkgfmtrixie2024.11.20-1fixed
Debianpython-cmarkgfmbookworm0.8.0-3vulnerable
Debianr-cran-commonmarksid2.0.0-3fixed
Debianr-cran-commonmarkforky2.0.0-3fixed
Debianr-cran-commonmarktrixie1.9.5-1fixed
Debianr-cran-commonmarkbookworm1.8.1-1vulnerable
Debianruby-commonmarkersid2.10.1-1fixed
Debianruby-commonmarkerforky2.10.0-2fixed
Debianruby-commonmarkertrixie0.23.10-1fixed
Debianruby-commonmarkerbookworm0.23.6-1vulnerable
Ubuntucmark-gfmnobleNot reportedvulnerable
Ubuntupython-cmarkgfmnobleNot reportedvulnerable
Ubuntur-cran-commonmarknobleNot reportedvulnerable
Ubunturuby-commonmarkernobleNot reportedvulnerable
Ubuntucmark-gfmnoble0.29.0.gfm.6-6ubuntu0.24.04.1~esm1fixed
Ubuntulibcmark-gfm-devnoble0.29.0.gfm.6-6ubuntu0.24.04.1~esm1fixed
Ubuntulibcmark-gfm-extensions-devnoble0.29.0.gfm.6-6ubuntu0.24.04.1~esm1fixed
Ubuntulibcmark-gfm-extensions0.29.0.gfm.6noble0.29.0.gfm.6-6ubuntu0.24.04.1~esm1fixed
Ubuntulibcmark-gfm0.29.0.gfm.6noble0.29.0.gfm.6-6ubuntu0.24.04.1~esm1fixed

Fixed-version evidence

DistributionPackageTypeReleaseFixed versionUrgencyOriginBugs
Debiancmark-gfmsourcesid0.29.0.gfm.13-1not yet assignedNot reported[1034171]
Debiancmark-gfmsourceforky0.29.0.gfm.13-1not yet assignedNot reported[1034171]
Debiancmark-gfmsourcetrixie0.29.0.gfm.13-1not yet assignedNot reported[1034171]
Debiancmark-gfmsourcebookworm(unfixed)not yet assignedNot reported[1034171]
Debianpython-cmarkgfmsourcesid2024.11.20-1not yet assignedNot reported[1034172]
Debianpython-cmarkgfmsourceforky2024.11.20-1not yet assignedNot reported[1034172]
Debianpython-cmarkgfmsourcetrixie2024.11.20-1not yet assignedNot reported[1034172]
Debianpython-cmarkgfmsourcebookworm(unfixed)not yet assignedNot reported[1034172]
Debianr-cran-commonmarksourcesid1.9.1-1not yet assignedNot reported[1034173]
Debianr-cran-commonmarksourceforky1.9.1-1not yet assignedNot reported[1034173]
Debianr-cran-commonmarksourcetrixie1.9.1-1not yet assignedNot reported[1034173]
Debianr-cran-commonmarksourcebookworm(unfixed)not yet assignedNot reported[1034173]
Debianruby-commonmarkersourcesid0.23.10-1not yet assignedNot reported[1034174]
Debianruby-commonmarkersourceforky0.23.10-1not yet assignedNot reported[1034174]
Debianruby-commonmarkersourcetrixie0.23.10-1not yet assignedNot reported[1034174]
Debianruby-commonmarkersourcebookworm(unfixed)not yet assignedNot reported[1034174]
Ubuntucmark-gfmdebnoble0.29.0.gfm.6-6ubuntu0.24.04.1~esm1Not reportedNot reportedNot reported
Ubuntulibcmark-gfm-devdebnoble0.29.0.gfm.6-6ubuntu0.24.04.1~esm1Not reportedNot reportedNot reported
Ubuntulibcmark-gfm-extensions-devdebnoble0.29.0.gfm.6-6ubuntu0.24.04.1~esm1Not reportedNot reportedNot reported
Ubuntulibcmark-gfm-extensions0.29.0.gfm.6debnoble0.29.0.gfm.6-6ubuntu0.24.04.1~esm1Not reportedNot reportedNot reported
Ubuntulibcmark-gfm0.29.0.gfm.6debnoble0.29.0.gfm.6-6ubuntu0.24.04.1~esm1Not reportedNot reportedNot reported

[Debian bug #1034171][Debian bug #1034172][Debian bug #1034173][Debian bug #1034174]

Notes

[bookworm] cmark-gfm: Minor issue [bookworm] python-cmarkgfm: Minor issue [bookworm] r-cran-commonmark: Minor issue [bookworm] ruby-commonmarker: Minor issue

OpenFactory catalog packages

Matching against OpenFactory catalog package versions is in progress.

References