Skip to content
OpenAdvisories
High · 8.8 CVE-2022-24724 EUVD-2022-29578

Integer overflow in table parsing extension leads to heap memory corruption

Published Mar 3, 2022 · Updated Apr 22, 2025 · Assigned by GitHub_M

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

VendorProductAffectedFixed
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.

ReleasePackageFixed inAdvisory
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 —
ReleasePackageFixed inAdvisory
Ubuntu Pro 20.04 LTS cmark-gfm No fix yet —
ReleasePackageFixed inAdvisory
RHEL 8 pandoc +1 2.0.6-6.el8_6 RHSA-2022:5597

AlmaLinux

Errata ↗
ReleasePackageFixed inAdvisory
AlmaLinux 8 pandoc +1 2.0.6-6.el8_6 ALSA-2022:5597

Rocky Linux

Errata ↗
ReleasePackageFixed inAdvisory
Rocky Linux 8 pandoc 2.0.6-6.el8_6 RLSA-2022:5597

Advisories 4

References