Every CVE Search/ Get API key

CVE-2023-24824

Quadratic complexity may lead to a denial of service in cmark-gfm

5.3 MediumFix available

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

1.04%Up 1.0 points since Apr 1, 2023
90%50%10%1%

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 MediumCVSS: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 MediumCVSS: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 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
CVSS 3.1
7.5 HighCVSS: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 MediumCVSS: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 HighCVSS: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 HighCVSS: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 HighCVSS: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 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
CVSS 3.1
7.5 HighCVSS: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

Affected packages
PackageAffectedFixed
pandoc
AlmaLinux:8
before 2.0.6-7.el8_10
2.0.6-7.el8_10
pandoc-common
AlmaLinux:8
before 2.0.6-7.el8_10
2.0.6-7.el8_10
cmark-gfm
Debian: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-gfm
Debian:13
before 0.29.0.gfm.13-1
0.29.0.gfm.13-1
cmark-gfm
Debian:14
before 0.29.0.gfm.13-1
0.29.0.gfm.13-1
python-cmarkgfm
Debian:12
All versions, plus listed versions
0.8.0-32024.11.20-12025.10.22-12025.10.22-2
None known
python-cmarkgfm
Debian:13
before 2024.11.20-1
2024.11.20-1
python-cmarkgfm
Debian:14
before 2024.11.20-1
2024.11.20-1
r-cran-commonmark
Debian: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 less
1.9.5-12.0.0-12.0.0-22.0.0-3
None known
r-cran-commonmark
Debian:13
before 1.9.1-1
1.9.1-1
Show 16 moreShow less
Affected packages
PackageAffectedFixed
r-cran-commonmark
Debian:14
before 1.9.1-1
1.9.1-1
ruby-commonmarker
Debian: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 less
2.10.1-12.8.3-12.8.3-22.8.3-32.8.3-4
None known
ruby-commonmarker
Debian:13
before 0.23.10-1
0.23.10-1
ruby-commonmarker
Debian:14
before 0.23.10-1
0.23.10-1
cmark-gfm
Hackage
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 less
0.1.60.1.70.1.80.2.00.2.10.2.20.2.30.2.40.2.5
0.2.6
pandoc
Red Hat:enterprise_linux:8::crb
before 0:2.0.6-7.el8_10
0:2.0.6-7.el8_10
pandoc-common
Red Hat:enterprise_linux:8::crb
before 0:2.0.6-7.el8_10
0:2.0.6-7.el8_10
pandoc
Rocky Linux:8
before 0:2.0.6-7.el8_10
0:2.0.6-7.el8_10
commonmark
CRAN
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 less
0.91.01.11.21.41.51.61.71.81.91.9.11.8.01.8.11.9.0
1.9.2
cmark
Ubuntu:18.04:LTS
All versions, plus listed versions
0.26.1-1
None known
cmark
Ubuntu:20.04:LTS
All versions, plus listed versions
0.28.3-10.29.0-1ubuntu20.29.0-2
None known
cmark
Ubuntu:22.04:LTS
All versions, plus listed versions
0.29.0-40.30.2-30.30.2-40.30.2-5
None known
cmark
Ubuntu:24.04:LTS
All versions, plus listed versions
0.30.2-60.30.2-6build1
None known
cmark
Ubuntu:25.10
All versions, plus listed versions
0.30.2-6build1
None known
cmark
Ubuntu:26.10
All versions, plus listed versions
0.30.2-6build2
None known
cmark
Ubuntu:26.04:LTS
All versions, plus listed versions
0.30.2-6build10.30.2-6build2
None known

History

History
RecordedChangedSources
affected, facts
aliases, publishedEUVD
first indexedCVE 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

Show 17 moreShow less
MoveEnter Open