Every CVE Search/ Get API key

CVE-2023-26485

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 _ 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 is a fork of 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:

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.03%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 _ 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 is a fork of 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:

Record
CVE-2023-26485
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-30291 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 _ 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 is a fork of 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:

Record
EUVD-2023-30291
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 _ 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 is a fork of 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:

Record
CVE-2023-26485
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 _ 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 is a fork of 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:

Record
CVE-2023-26485
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-26485 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 _ 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 is a fork of 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

Record
DEBIAN-CVE-2023-26485
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-26485 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 _ 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 is a fork of 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

Record
UBUNTU-CVE-2023-26485
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
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
OSVUSN-7319-1 No score

cmark-gfm vulnerabilities

It was discovered that cmark-gfm's autolink extension did not correctly handle parsing large inputs. An attacker could possibly use this issue to cause a denial of service. This issue only affected Ubuntu 20.04 LTS and Ubuntu 22.04 LTS. (CVE-2022-39209)

It was discovered that cmark-gfm did not correctly handle parsing large inputs. An attacker could possibly use this issue to cause a denial of service. This issue only affected Ubuntu 22.04 LTS, Ubuntu 24.04 LTS and Ubuntu 24.10. (CVE-2023-22483)

It was discovered that cmark-gfm did not correctly handle parsing large inputs. An attacker could possibly use this issue to cause a denial of service. This issue only affected Ubuntu 24.04 LTS and Ubuntu 24.10. (CVE-2023-22484)

It was discovered that cmark-gfm did not correctly handle parsing large inputs. An attacker could possibly use this issue to cause a denial of service. (CVE-2023-22486, CVE-2023-26485)

Record
USN-7319-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
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
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
Show 16 moreShow less
Affected packages
PackageAffectedFixed
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
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-gfm
Ubuntu:Pro:20.04:LTS
before 0.29.0.gfm.0-4ubuntu0.1~esm1, plus listed versions
0.28.3.gfm.20-30.29.0.gfm.0-30.29.0.gfm.0-4
0.29.0.gfm.0-4ubuntu0.1~esm1
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-gfm
Ubuntu:Pro:22.04:LTS
before 0.29.0.gfm.3-3ubuntu0.1~esm1, plus listed versions
0.29.0.gfm.0-60.29.0.gfm.2-10.29.0.gfm.2-1+really.0.29.0.gfm.0ubuntu10.29.0.gfm.2-20.29.0.gfm.3-3
0.29.0.gfm.3-3ubuntu0.1~esm1
cmark
Ubuntu:24.04:LTS
All versions, plus listed versions
0.30.2-60.30.2-6build1
None known
cmark-gfm
Ubuntu:Pro:24.04:LTS
before 0.29.0.gfm.6-6ubuntu0.24.04.1~esm1, plus listed versions
0.29.0.gfm.6-60.29.0.gfm.6-6build1
0.29.0.gfm.6-6ubuntu0.24.04.1~esm1
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
cmark-gfm
Ubuntu:Pro:20.04:LTS
From an advisory covering 5 CVEs
before 0.29.0.gfm.0-4ubuntu0.1~esm1, plus listed versions
0.28.3.gfm.20-30.29.0.gfm.0-30.29.0.gfm.0-4
0.29.0.gfm.0-4ubuntu0.1~esm1
cmark-gfm
Ubuntu:Pro:22.04:LTS
From an advisory covering 5 CVEs
before 0.29.0.gfm.3-3ubuntu0.1~esm1, plus listed versions
0.29.0.gfm.0-60.29.0.gfm.2-10.29.0.gfm.2-1+really.0.29.0.gfm.0ubuntu10.29.0.gfm.2-20.29.0.gfm.3-3
0.29.0.gfm.3-3ubuntu0.1~esm1
cmark-gfm
Ubuntu:Pro:24.04:LTS
From an advisory covering 5 CVEs
before 0.29.0.gfm.6-6ubuntu0.24.04.1~esm1, plus listed versions
0.29.0.gfm.6-60.29.0.gfm.6-6build1
0.29.0.gfm.6-6ubuntu0.24.04.1~esm1

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-26485 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.03%, the 63rd percentile. Fixed in cmark-gfm 0.29.0.gfm.13-1.

References

Show 13 moreShow less
MoveEnter Open