CVE-2023-24824
Quadratic complexity may lead to a denial of service in cmark-gfm
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 > or - 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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
5.3
Quadratic complexity may lead to a denial of service in cmark-gfm
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 > or - 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.
- Record
CVE-2023-24824- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Weakness
- CWE-400, CWE-407
- Updated
- 2026-11-02
EUVDEUVD-2023-28818
5.3
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 > or - 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.
- Record
EUVD-2023-28818- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Updated
- 2026-11-03
NVD
5.3
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 > or - 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.
- Record
CVE-2023-24824- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-400, CWE-407
- Updated
- 2026-11-02
OSV
5.3
Quadratic complexity may lead to a denial of service in cmark-gfm
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 > or - 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.
- Record
CVE-2023-24824- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Weakness
- CWE-400, CWE-407
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2023-24824
7.5
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 > or - 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.
- Record
DEBIAN-CVE-2023-24824- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVRHSA-2025:8427
7.5
Red Hat Security Advisory: pandoc security update
- Record
RHSA-2025:8427- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
Show 5 moreShow less
OSVRLSA-2025:8427
7.5
Moderate: pandoc security update
Pandoc is a Haskell library for converting from one markup format to another, and a command-line tool that uses this library. It can read several dialects of Markdown and (subsets of) HTML, reStructuredText, LaTeX, DocBook, JATS, MediaWiki markup, TWiki markup, TikiWiki markup, Creole 1.0, Haddock markup, OPML, Emacs Org-Mode, Emacs Muse, txt2tags, Vimwiki, Word Docx, ODT, and Textile, and it can write Markdown, reStructuredText, XHTML, HTML 5, LaTeX, ConTeXt, DocBook, JATS, OPML, TEI, OpenDocument, ODT, Word docx, RTF, MediaWiki, DokuWiki, ZimWiki, Textile, groff man, groff ms, plain text, Emacs Org-Mode, AsciiDoc, Haddock markup, EPUB (v2 and v3), FictionBook2, InDesign ICML, Muse, LaTeX beamer slides, PowerPoint, and several kinds of HTML/JavaScript slide shows (S5, Slidy, Slideous, DZSlides, reveal.js). In contrast to most existing tools for converting Markdown to HTML, pandoc has a modular design: it consists of a set of readers, which parse text in a given format and produce a native representation of the document, and a set of writers, which convert this native representation into a target format. Thus, adding an input or output format requires only adding a reader or writer. For pdf output please also install pandoc-pdf.
Security Fix(es):
- cmark-gfm: Quadratic complexity bugs may lead to a denial of service (CVE-2023-24824)
For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.
- Record
RLSA-2025:8427- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2023-24824
5.3
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 > or - 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.
- Record
UBUNTU-CVE-2023-24824- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVALSA-2025:8427 No score
Moderate: pandoc security update
Pandoc is a Haskell library for converting from one markup format to another, and a command-line tool that uses this library. It can read several dialects of Markdown and (subsets of) HTML, reStructuredText, LaTeX, DocBook, JATS, MediaWiki markup, TWiki markup, TikiWiki markup, Creole 1.0, Haddock markup, OPML, Emacs Org-Mode, Emacs Muse, txt2tags, Vimwiki, Word Docx, ODT, and Textile, and it can write Markdown, reStructuredText, XHTML, HTML 5, LaTeX, ConTeXt, DocBook, JATS, OPML, TEI, OpenDocument, ODT, Word docx, RTF, MediaWiki, DokuWiki, ZimWiki, Textile, groff man, groff ms, plain text, Emacs Org-Mode, AsciiDoc, Haddock markup, EPUB (v2 and v3), FictionBook2, InDesign ICML, Muse, LaTeX beamer slides, PowerPoint, and several kinds of HTML/JavaScript slide shows (S5, Slidy, Slideous, DZSlides, reveal.js). In contrast to most existing tools for converting Markdown to HTML, pandoc has a modular design: it consists of a set of readers, which parse text in a given format and produce a native representation of the document, and a set of writers, which convert this native representation into a target format. Thus, adding an input or output format requires only adding a reader or writer. For pdf output please also install pandoc-pdf.
Security Fix(es):
- cmark-gfm: Quadratic complexity bugs may lead to a denial of service (CVE-2023-24824)
For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.
- Record
ALSA-2025:8427- Updated
- 2026-11-02
OSVHSEC-2025-0007 No score
cmark-gfm: resource exhaustion due to quadratic complexity in parser
cmark-gfm: resource exhaustion due to quadratic complexity in parser
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, due to quadratic complexity issues
when parsing text which leads with either large numbers of > or
- characters.
The Haskell cmark-gfm package bundles the C sources and was
affected by this issue. This fix was released in the upstream C
package at version 0.29.0.gfm.10. Version 0.2.6 of the Haskell
package adopted the fix (moving from 0.29.0.gfm.6 to
0.29.0.gfm.13). Packages that depend on cmark-gfm should update
to 0.2.6 or later.
Users unable to update should avoid processing data from untrusted sources or validate the input with other tools before using cmark-gfm to parse it.
Pandoc < 2.10.1 depended on cmark-gfm and could be affected by
this issue.
- Record
HSEC-2025-0007- Updated
- 2026-11-02
OSVRSEC-2023-8 No score
Denial of Service (DoS) vulnerabilities
cmark-gfm, GitHub's extended version of the CommonMark library in C, suffers from multiple vulnerabilities affecting versions prior to 0.29.0.gfm.12. Various issues, including polynomial time complexity in multiple components like autolink extension, handle_close_bracket, and parsing of certain text patterns (leading >, -, _), may lead to unbounded resource exhaustion and denial of service. An out-of-bounds read in the validate_protocol function was also identified but is considered less harmful. Patches are available in versions 0.29.0.gfm.7, 0.29.0.gfm.10, and 0.29.0.gfm.12. Upgrading is advised, and users unable to upgrade should validate input from trusted sources.
- Record
RSEC-2023-8- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
pandocAlmaLinux:8 |
before 2.0.6-7.el8_10 | 2.0.6-7.el8_10 |
pandoc-commonAlmaLinux:8 |
before 2.0.6-7.el8_10 | 2.0.6-7.el8_10 |
cmark-gfmDebian:12 |
All versions, plus listed versions 0.29.0.gfm.13-10.29.0.gfm.13-20.29.0.gfm.13-30.29.0.gfm.13-40.29.0.gfm.13-70.29.0.gfm.13-7.10.29.0.gfm.6-6 |
None known |
cmark-gfmDebian:13 |
before 0.29.0.gfm.13-1 | 0.29.0.gfm.13-1 |
cmark-gfmDebian:14 |
before 0.29.0.gfm.13-1 | 0.29.0.gfm.13-1 |
python-cmarkgfmDebian:12 |
All versions, plus listed versions 0.8.0-32024.11.20-12025.10.22-12025.10.22-2 |
None known |
python-cmarkgfmDebian:13 |
before 2024.11.20-1 | 2024.11.20-1 |
python-cmarkgfmDebian:14 |
before 2024.11.20-1 | 2024.11.20-1 |
r-cran-commonmarkDebian:12 |
All versions, plus listed versions 1.8.1-11.9.0-11.9.1-11.9.2-11.9.2-2 Show 4 moreShow less1.9.5-12.0.0-12.0.0-22.0.0-3 |
None known |
r-cran-commonmarkDebian:13 |
before 1.9.1-1 | 1.9.1-1 |
Show 16 moreShow less
| Package | Affected | Fixed |
|---|---|---|
r-cran-commonmarkDebian:14 |
before 1.9.1-1 | 1.9.1-1 |
ruby-commonmarkerDebian:12 |
All versions, plus listed versions 0.23.10-10.23.6-10.23.9-12.10.0-12.10.0-2 Show 5 moreShow less2.10.1-12.8.3-12.8.3-22.8.3-32.8.3-4 |
None known |
ruby-commonmarkerDebian:13 |
before 0.23.10-1 | 0.23.10-1 |
ruby-commonmarkerDebian:14 |
before 0.23.10-1 | 0.23.10-1 |
cmark-gfmHackage |
0.1.0 up to 0.2.6, plus listed versions 0.1.10.1.20.1.30.1.40.1.5 Show 9 moreShow less0.1.60.1.70.1.80.2.00.2.10.2.20.2.30.2.40.2.5 |
0.2.6 |
pandocRed Hat:enterprise_linux:8::crb |
before 0:2.0.6-7.el8_10 | 0:2.0.6-7.el8_10 |
pandoc-commonRed Hat:enterprise_linux:8::crb |
before 0:2.0.6-7.el8_10 | 0:2.0.6-7.el8_10 |
pandocRocky Linux:8 |
before 0:2.0.6-7.el8_10 | 0:2.0.6-7.el8_10 |
commonmarkCRAN From an advisory covering 7 CVEs |
0.2 up to 1.9.2, plus listed versions 0.40.50.60.70.8 Show 14 moreShow less0.91.01.11.21.41.51.61.71.81.91.9.11.8.01.8.11.9.0 |
1.9.2 |
cmarkUbuntu:18.04:LTS |
All versions, plus listed versions 0.26.1-1 |
None known |
cmarkUbuntu:20.04:LTS |
All versions, plus listed versions 0.28.3-10.29.0-1ubuntu20.29.0-2 |
None known |
cmarkUbuntu:22.04:LTS |
All versions, plus listed versions 0.29.0-40.30.2-30.30.2-40.30.2-5 |
None known |
cmarkUbuntu:24.04:LTS |
All versions, plus listed versions 0.30.2-60.30.2-6build1 |
None known |
cmarkUbuntu:25.10 |
All versions, plus listed versions 0.30.2-6build1 |
None known |
cmarkUbuntu:26.10 |
All versions, plus listed versions 0.30.2-6build2 |
None known |
cmarkUbuntu:26.04:LTS |
All versions, plus listed versions 0.30.2-6build10.30.2-6build2 |
None known |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| aliases, published | EUVD | |
| first indexed | CVE List, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2023-24824 is a medium vulnerability (CVSS 5.3) in Github Cmark-gfm, published March 31, 2023. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.04%, the 64th percentile. Fixed in pandoc 2.0.6-7.el8_10.
References
github.com/github/cmark-gfm/security/advisories/GHSA-66g8-4hjf-77xh
github.com/github/cmark-gfm/commit/2300c1bd2c8226108885bf019655c4159cf26b59
access.redhat.com/errata/RHSA-2025:8427
access.redhat.com/security/cve/CVE-2023-24824
bugzilla.redhat.com/2210172
errata.almalinux.org/8/ALSA-2025-8427.html
Show 17 moreShow less
github.com/CVEProject/cvelistV5/tree/main/cves/2023/24xxx/CVE-2023-24824.json
nvd.nist.gov/vuln/detail/CVE-2023-24824
security-tracker.debian.org/tracker/CVE-2023-24824
github.com/kivikakk/cmark-gfm-hs/commit/1359b8740c6b29dde0ad8f816531112b32eb8cbe
access.redhat.com/security/updates/classification
bugzilla.redhat.com/show_bug.cgi?id=2210172
security.access.redhat.com/data/csaf/v2/advisories/2025/rhsa-2025_8427.json
cve.org/CVERecord?id=CVE-2023-24824
errata.rockylinux.org/RLSA-2025:8427
security-tracker.debian.org/tracker/CVE-2023-37463
security-tracker.debian.org/tracker/CVE-2023-26485
security-tracker.debian.org/tracker/CVE-2023-22486
security-tracker.debian.org/tracker/CVE-2023-22485
security-tracker.debian.org/tracker/CVE-2023-22484
security-tracker.debian.org/tracker/CVE-2023-22483
github.com/r-lib/commonmark/issues/26
ubuntu.com/security/CVE-2023-24824