
CVE catalog
CVE-2022-24724
cmark-gfm: CVE-2022-24724
- Severity
- Critical · CVSS 9.8
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Published
- Source
- [NVD] · [CVE record]
- EPSS
- 4.51% · Oct 25, 2026
cmark-gfm is GitHub's extended version of the C reference implementation of CommonMark. Prior to versions 0.29.0.gfm.3 and 0.28.3.gfm.21, an integer overflow in cmark-gfm's table row parsing `table.c:row_from_string` may lead to heap memory corruption when parsing tables who's marker rows contain more than UINT16_MAX columns. The impact of this heap corruption ranges from Information Leak to Arbitrary Code Execution depending on how and where `cmark-gfm` is used. If `cmark-gfm` is used for rendering remote user controlled markdown, this vulnerability may lead to Remote Code Execution (RCE) in applications employing affected versions of the `cmark-gfm` library. This vulnerability has been patched in the following cmark-gfm versions 0.29.0.gfm.3 and 0.28.3.gfm.21. A workaround is available. The vulnerability exists in the table markdown extensions of cmark-gfm. Disabling the table extension will prevent this vulnerability from being triggered.
Vulnerable and fixed packages
Distribution-reported package versions and fixes. These do not depend on matching against the OpenFactory package catalog.
| Distribution | Package | Release | Version | Status |
|---|---|---|---|---|
| Debian | cmark-gfm | sid | 0.29.0.gfm.13-7.1 | fixed |
| Debian | cmark-gfm | forky | 0.29.0.gfm.13-7.1 | fixed |
| Debian | cmark-gfm | trixie | 0.29.0.gfm.13-4 | fixed |
| Debian | cmark-gfm | bookworm | 0.29.0.gfm.6-6 | fixed |
| Debian | ghostwriter | sid | 26.04.0+ds-1 | fixed |
| Debian | ghostwriter | forky | 26.04.0+ds-1 | fixed |
| Debian | ghostwriter | trixie | 25.04.0+ds-1 | fixed |
| Debian | ghostwriter | bookworm | 2.1.6+ds-2 | fixed |
| Debian | python-cmarkgfm | sid | 2025.10.22-2 | fixed |
| Debian | python-cmarkgfm | forky | 2025.10.22-2 | fixed |
| Debian | python-cmarkgfm | trixie | 2024.11.20-1 | fixed |
| Debian | python-cmarkgfm | bookworm | 0.8.0-3 | fixed |
| Debian | r-cran-commonmark | sid | 2.0.0-3 | fixed |
| Debian | r-cran-commonmark | forky | 2.0.0-3 | fixed |
| Debian | r-cran-commonmark | trixie | 1.9.5-1 | fixed |
| Debian | r-cran-commonmark | bookworm | 1.8.1-1 | fixed |
| Debian | ruby-commonmarker | sid | 2.10.1-1 | fixed |
| Debian | ruby-commonmarker | forky | 2.10.0-2 | fixed |
| Debian | ruby-commonmarker | trixie | 0.23.10-1 | fixed |
| Debian | ruby-commonmarker | bookworm | 0.23.6-1 | fixed |
| Ubuntu | cmark-gfm | pro | 0.28.3.gfm.20-3 | vulnerable |
| Ubuntu | cmark-gfm | pro | 0.29.0.gfm.0-3 | vulnerable |
| Ubuntu | cmark-gfm | pro | 0.29.0.gfm.0-4 | vulnerable |
| Ubuntu | cmark-gfm | pro | 0.29.0.gfm.0-4ubuntu0.1~esm1 | vulnerable |
Fixed-version evidence
| Distribution | Package | Type | Release | Fixed version | Urgency | Origin | Bugs |
|---|---|---|---|---|---|---|---|
| Debian | cmark-gfm | source | sid | 0.29.0.gfm.3-3 | not yet assigned | Not reported | [1006756] |
| Debian | cmark-gfm | source | forky | 0.29.0.gfm.3-3 | not yet assigned | Not reported | [1006756] |
| Debian | cmark-gfm | source | trixie | 0.29.0.gfm.3-3 | not yet assigned | Not reported | [1006756] |
| Debian | cmark-gfm | source | bookworm | 0.29.0.gfm.3-3 | not yet assigned | Not reported | [1006756] |
| Debian | ghostwriter | source | sid | 2.1.6+ds-1 | not yet assigned | Not reported | [1006757] |
| Debian | ghostwriter | source | forky | 2.1.6+ds-1 | not yet assigned | Not reported | [1006757] |
| Debian | ghostwriter | source | trixie | 2.1.6+ds-1 | not yet assigned | Not reported | [1006757] |
| Debian | ghostwriter | source | bookworm | 2.1.6+ds-1 | not yet assigned | Not reported | [1006757] |
| Debian | python-cmarkgfm | source | sid | 0.7.0-1 | not yet assigned | Not reported | [1006758] |
| Debian | python-cmarkgfm | source | forky | 0.7.0-1 | not yet assigned | Not reported | [1006758] |
| Debian | python-cmarkgfm | source | trixie | 0.7.0-1 | not yet assigned | Not reported | [1006758] |
| Debian | python-cmarkgfm | source | bookworm | 0.7.0-1 | not yet assigned | Not reported | [1006758] |
| Debian | r-cran-commonmark | source | sid | 1.8.0-1 | not yet assigned | Not reported | [1006760] |
| Debian | r-cran-commonmark | source | forky | 1.8.0-1 | not yet assigned | Not reported | [1006760] |
| Debian | r-cran-commonmark | source | trixie | 1.8.0-1 | not yet assigned | Not reported | [1006760] |
| Debian | r-cran-commonmark | source | bookworm | 1.8.0-1 | not yet assigned | Not reported | [1006760] |
| Debian | ruby-commonmarker | source | sid | 0.23.4-1 | not yet assigned | Not reported | [1006759] |
| Debian | ruby-commonmarker | source | forky | 0.23.4-1 | not yet assigned | Not reported | [1006759] |
| Debian | ruby-commonmarker | source | trixie | 0.23.4-1 | not yet assigned | Not reported | [1006759] |
| Debian | ruby-commonmarker | source | bookworm | 0.23.4-1 | not yet assigned | Not reported | [1006759] |
[Debian bug #1006756][Debian bug #1006757][Debian bug #1006758][Debian bug #1006760][Debian bug #1006759]
OpenFactory catalog packages
[Debian 12 (Bookworm)]
- [cmark-gfm]Fixed
Details (2)
0.29.0.gfm.6-6· amd64 · bookwormFixed · Fixed:
0.29.0.gfm.3-3dsa · cmark-gfm · debian · bookworm
0.29.0.gfm.6-6· arm64 · bookwormFixed · Fixed:
0.29.0.gfm.3-3dsa · cmark-gfm · debian · bookworm
- [ghostwriter]Fixed
Details (2)
2.1.6+ds-2· amd64 · bookwormFixed · Fixed:
2.1.6+ds-1dsa · ghostwriter · debian · bookworm
2.1.6+ds-2· arm64 · bookwormFixed · Fixed:
2.1.6+ds-1dsa · ghostwriter · debian · bookworm
- [libcmark-gfm0.29.0.gfm.6]Fixed
Source package: [cmark-gfm]
Details (2)
0.29.0.gfm.6-6· amd64 · bookwormFixed · Fixed:
0.29.0.gfm.3-3dsa · cmark-gfm · debian · bookworm
0.29.0.gfm.6-6· arm64 · bookwormFixed · Fixed:
0.29.0.gfm.3-3dsa · cmark-gfm · debian · bookworm
- [libcmark-gfm-dev]Fixed
Source package: [cmark-gfm]
Details (2)
0.29.0.gfm.6-6· amd64 · bookwormFixed · Fixed:
0.29.0.gfm.3-3dsa · cmark-gfm · debian · bookworm
0.29.0.gfm.6-6· arm64 · bookwormFixed · Fixed:
0.29.0.gfm.3-3dsa · cmark-gfm · debian · bookworm
Source package: [cmark-gfm]
Details (2)
0.29.0.gfm.6-6· amd64 · bookwormFixed · Fixed:
0.29.0.gfm.3-3dsa · cmark-gfm · debian · bookworm
0.29.0.gfm.6-6· arm64 · bookwormFixed · Fixed:
0.29.0.gfm.3-3dsa · cmark-gfm · debian · bookworm
- [libcmark-gfm-extensions-dev]Fixed
Source package: [cmark-gfm]
Details (2)
0.29.0.gfm.6-6· amd64 · bookwormFixed · Fixed:
0.29.0.gfm.3-3dsa · cmark-gfm · debian · bookworm
0.29.0.gfm.6-6· arm64 · bookwormFixed · Fixed:
0.29.0.gfm.3-3dsa · cmark-gfm · debian · bookworm
- [python3-cmarkgfm]Fixed
Source package: [python-cmarkgfm]
Details (2)
0.8.0-3· amd64 · bookwormFixed · Fixed:
0.7.0-1dsa · python-cmarkgfm · debian · bookworm
0.8.0-3· arm64 · bookwormFixed · Fixed:
0.7.0-1dsa · python-cmarkgfm · debian · bookworm
- [r-cran-commonmark]Fixed
Details (2)
1.8.1-1· amd64 · bookwormFixed · Fixed:
1.8.0-1dsa · r-cran-commonmark · debian · bookworm
1.8.1-1· arm64 · bookwormFixed · Fixed:
1.8.0-1dsa · r-cran-commonmark · debian · bookworm
- [ruby-commonmarker]Fixed
Source package: [ruby-commonmarker]
Details (2)
0.23.6-1+b1· amd64 · bookwormFixed · Fixed:
0.23.4-1dsa · ruby-commonmarker · debian · bookworm
0.23.6-1+b1· arm64 · bookwormFixed · Fixed:
0.23.4-1dsa · ruby-commonmarker · debian · bookworm
Observed:
References
- [https://ftp.suse.com/pub/projects/security/csaf/rhsa-2022_5597.json]
- [https://osv.dev/vulnerability/UBUNTU-CVE-2022-24724]
- [https://security-tracker.debian.org/tracker/CVE-2022-24724]
- [https://security.access.redhat.com/data/csaf/v2/vex/2022/cve-2022-24724.json]
- [https://wid.cert-bund.de/.well-known/csaf/white/2022/wid-sec-w-2022-0717.json]
[CERT-Bund public advisories] · [Debian Security Tracker] · [FIRST EPSS] · [OSV Package Vulnerability Database] · [Red Hat security advisories and VEX] · [SUSE security advisories and VEX]