CVE-2022-39209
Uncontrolled Resource Consumption in cmark-gfm
cmark-gfm is GitHub's fork of cmark, a CommonMark parsing and rendering library and program in C. In versions prior to 0.29.0.gfm.6 a polynomial time complexity issue in cmark-gfm's autolink extension may lead to unbounded resource exhaustion and subsequent denial of service. Users may verify the patch by running python3 -c 'print("![l"* 100000 + "\n")' | ./cmark-gfm -e autolink, which will resource exhaust on unpatched cmark-gfm but render correctly on patched cmark-gfm. This vulnerability has been patched in 0.29.0.gfm.6. Users are advised to upgrade. Users unable to upgrade should disable the use of the autolink extension.
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
- High
Exploit likelihood
What each source reports
CVE List Score used
7.5
Uncontrolled Resource Consumption in cmark-gfm
cmark-gfm is GitHub's fork of cmark, a CommonMark parsing and rendering library and program in C. In versions prior to 0.29.0.gfm.6 a polynomial time complexity issue in cmark-gfm's autolink extension may lead to unbounded resource exhaustion and subsequent denial of service. Users may verify the patch by running python3 -c 'print("![l"* 100000 + "\n")' | ./cmark-gfm -e autolink, which will resource exhaust on unpatched cmark-gfm but render correctly on patched cmark-gfm. This vulnerability has been patched in 0.29.0.gfm.6. Users are advised to upgrade. Users unable to upgrade should disable the use of the autolink extension.
- Record
CVE-2022-39209- 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
- Updated
- 2026-11-02
EUVDEUVD-2022-41748
7.5
cmark-gfm is GitHub's fork of cmark, a CommonMark parsing and rendering library and program in C. In versions prior to 0.29.0.gfm.6 a polynomial time complexity issue in cmark-gfm's autolink extension may lead to unbounded resource exhaustion and subsequent denial of service. Users may verify the patch by running python3 -c 'print("![l"* 100000 + "\n")' | ./cmark-gfm -e autolink, which will resource exhaust on unpatched cmark-gfm but render correctly on patched cmark-gfm. This vulnerability has been patched in 0.29.0.gfm.6. Users are advised to upgrade. Users unable to upgrade should disable the use of the autolink extension.
- Record
EUVD-2022-41748- 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
NVD
7.5
cmark-gfm is GitHub's fork of cmark, a CommonMark parsing and rendering library and program in C. In versions prior to 0.29.0.gfm.6 a polynomial time complexity issue in cmark-gfm's autolink extension may lead to unbounded resource exhaustion and subsequent denial of service. Users may verify the patch by running python3 -c 'print("![l"* 100000 + "\n")' | ./cmark-gfm -e autolink, which will resource exhaust on unpatched cmark-gfm but render correctly on patched cmark-gfm. This vulnerability has been patched in 0.29.0.gfm.6. Users are advised to upgrade. Users unable to upgrade should disable the use of the autolink extension.
- Record
CVE-2022-39209- 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 - CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-400, CWE-407
- Updated
- 2026-11-02
OSV
7.5
Uncontrolled Resource Consumption in cmark-gfm
cmark-gfm is GitHub's fork of cmark, a CommonMark parsing and rendering library and program in C. In versions prior to 0.29.0.gfm.6 a polynomial time complexity issue in cmark-gfm's autolink extension may lead to unbounded resource exhaustion and subsequent denial of service. Users may verify the patch by running python3 -c 'print("![l"* 100000 + "\n")' | ./cmark-gfm -e autolink, which will resource exhaust on unpatched cmark-gfm but render correctly on patched cmark-gfm. This vulnerability has been patched in 0.29.0.gfm.6. Users are advised to upgrade. Users unable to upgrade should disable the use of the autolink extension.
- Record
CVE-2022-39209- 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
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2022-39209
6.5
cmark-gfm is GitHub's fork of cmark, a CommonMark parsing and rendering library and program in C. In versions prior to 0.29.0.gfm.6 a polynomial time complexity issue in cmark-gfm's autolink extension may lead to unbounded resource exhaustion and subsequent denial of service. Users may verify the patch by running python3 -c 'print("![l"* 100000 + "\n")' | ./cmark-gfm -e autolink, which will resource exhaust on unpatched cmark-gfm but render correctly on patched cmark-gfm. This vulnerability has been patched in 0.29.0.gfm.6. Users are advised to upgrade. Users unable to upgrade should disable the use of the autolink extension.
- Record
DEBIAN-CVE-2022-39209- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-03
OSVUBUNTU-CVE-2022-39209
7.5
cmark-gfm is GitHub's fork of cmark, a CommonMark parsing and rendering library and program in C. In versions prior to 0.29.0.gfm.6 a polynomial time complexity issue in cmark-gfm's autolink extension may lead to unbounded resource exhaustion and subsequent denial of service. Users may verify the patch by running python3 -c 'print("![l"* 100000 + "\n")' | ./cmark-gfm -e autolink, which will resource exhaust on unpatched cmark-gfm but render correctly on patched cmark-gfm. This vulnerability has been patched in 0.29.0.gfm.6. Users are advised to upgrade. Users unable to upgrade should disable the use of the autolink extension.
- Record
UBUNTU-CVE-2022-39209- 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 - CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVRSEC-2023-7 No score
Denial of Service (DoS) and Arbitrary Code Execution (ACE) vulnerabilities
cmark-gfm, GitHub's extended CommonMark library, has multiple vulnerabilities. Versions prior to 0.29.0.gfm.6 suffer from a polynomial time complexity issue in the autolink extension, causing denial of service. Also, versions before 0.29.0.gfm.3 and 0.28.3.gfm.21 contain an integer overflow in table row parsing, leading to heap corruption and potential Arbitrary Code Execution. Patches are available in versions 0.29.0.gfm.6, 0.29.0.gfm.3, and 0.28.3.gfm.21. Mitigations include upgrading or disabling affected extensions.
- Record
RSEC-2023-7- 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
| Package | Affected | Fixed |
|---|---|---|
cmark-gfmDebian:12 |
before 0.29.0.gfm.6-2 | 0.29.0.gfm.6-2 |
cmark-gfmDebian:13 |
before 0.29.0.gfm.6-2 | 0.29.0.gfm.6-2 |
cmark-gfmDebian:14 |
before 0.29.0.gfm.6-2 | 0.29.0.gfm.6-2 |
ghostwriterDebian:12 |
before 2.1.6+ds-1 | 2.1.6+ds-1 |
ghostwriterDebian:13 |
before 2.1.6+ds-1 | 2.1.6+ds-1 |
ghostwriterDebian:14 |
before 2.1.6+ds-1 | 2.1.6+ds-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 |
before 1.8.1-1 | 1.8.1-1 |
Show 11 moreShow less
| Package | Affected | Fixed |
|---|---|---|
r-cran-commonmarkDebian:13 |
before 1.8.1-1 | 1.8.1-1 |
r-cran-commonmarkDebian:14 |
before 1.8.1-1 | 1.8.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 |
commonmarkCRAN From an advisory covering 2 CVEs |
0.2 up to 1.8, plus listed versions 0.40.50.60.70.8 Show 8 moreShow less0.91.01.11.21.41.51.61.7 |
1.8 |
cmark-gfmUbuntu: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-gfmUbuntu: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-gfmUbuntu: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-gfmUbuntu: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-gfmUbuntu: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
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | OSV | |
| affected | OSV | |
| first indexed | CVE List, EUVD, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2022-39209 is a high vulnerability (CVSS 7.5) in Github Cmark-gfm, published September 15, 2022. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 2.15%, the 82nd percentile. Fixed in cmark-gfm 0.29.0.gfm.6-2.
References
github.com/github/cmark-gfm/security/advisories/GHSA-cgh3-p57x-9q7q
github.com/github/cmark-gfm/commit/9d57d8a23142b316282bdfc954cb0ecda40a8655
en.wikipedia.org/wiki/Time_complexity
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/JMGP65NANDVKPDMXMKYO2ZV2H2HZJY4P
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/JIUCZN3PEKUCT2JQYQTYOVIJG2KSD6G7
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/UEAAAI4OULDYQ2TA3HOXH54PC3DCBFZS
Show 12 moreShow less
github.com/CVEProject/cvelistV5/tree/main/cves/2022/39xxx/CVE-2022-39209.json
nvd.nist.gov/vuln/detail/CVE-2022-39209
security-tracker.debian.org/tracker/CVE-2022-39209
security-tracker.debian.org/tracker/CVE-2022-24724
github.com/r-lib/commonmark/pull/18
ubuntu.com/security/CVE-2022-39209
cve.org/CVERecord?id=CVE-2022-39209
ubuntu.com/security/notices/USN-7319-1
ubuntu.com/security/CVE-2023-22483
ubuntu.com/security/CVE-2023-22484
ubuntu.com/security/CVE-2023-22486
ubuntu.com/security/CVE-2023-26485