Description
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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| github | cmark-gfm | < 0.28.3.gfm.21, >= 0.29.0.gfm.0, < 0.29.0.gfm.3 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | cmark-gfm | 0.29.0.gfm.3-3 | — |
| Debian 14 | ghostwriter | 2.1.6+ds-1 | — |
| Debian 14 | python-cmarkgfm | 0.7.0-1 | — |
| Debian 14 | r-cran-commonmark | 1.8.0-1 | — |
| Debian 14 | ruby-commonmarker | 0.23.4-1 | — |
| Debian 13 | cmark-gfm | 0.29.0.gfm.3-3 | — |
| Debian 13 | ghostwriter | 2.1.6+ds-1 | — |
| Debian 13 | python-cmarkgfm | 0.7.0-1 | — |
| Debian 13 | r-cran-commonmark | 1.8.0-1 | — |
| Debian 13 | ruby-commonmarker | 0.23.4-1 | — |
| Debian 12 | cmark-gfm | 0.29.0.gfm.3-3 | — |
| Debian 12 | ghostwriter | 2.1.6+ds-1 | — |
| Debian 12 | python-cmarkgfm | 0.7.0-1 | — |
| Debian 12 | r-cran-commonmark | 1.8.0-1 | — |
| Debian 12 | ruby-commonmarker | 0.23.4-1 | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Pro 20.04 LTS | cmark-gfm | No fix yet | — |
Red Hat
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| RHEL 8 | pandoc +1 | 2.0.6-6.el8_6 | RHSA-2022:5597 |
AlmaLinux
Errata ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| AlmaLinux 8 | pandoc +1 | 2.0.6-6.el8_6 | ALSA-2022:5597 |
Rocky Linux
Errata ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Rocky Linux 8 | pandoc | 2.0.6-6.el8_6 | RLSA-2022:5597 |
Advisories 4
- ALSA-2022:5597 Important: pandoc security update AlmaLinux Security Advisories · Oct 29, 2026
- RHSA-2022:5597 Red Hat Security Advisory: pandoc security update Red Hat Security Advisories (RHSA) · Jun 29, 2026
- WID-SEC-2022-0717 Red Hat Enterprise Linux: Schwachstelle ermöglicht Codeausführung BSI CERT-Bund (WID) · Jun 28, 2026
- RLSA-2022:5597 Important: pandoc security update Rocky Linux Security Advisories · Jun 28, 2026
References
- https://github.com/github/cmark-gfm/security/advisories/GHSA-mc3g-88wq-6f4x
- FEDORA-2022-557ad15f2e vendor-advisory
- FEDORA-2022-725edc74c0 vendor-advisory
- FEDORA-2022-bc43bafcfd vendor-advisory
- FEDORA-2022-c42d02e5e5 vendor-advisory
- FEDORA-2022-79b9a59e3b vendor-advisory
- FEDORA-2022-1f981071eb vendor-advisory
- http://packetstormsecurity.com/files/166599/cmark-gfm-Integer-overflow.html