Vulnerability · Published Mar 3, 2022 · Assigned by GitHub_M
CVE-2022-24724Integer overflow in table parsing extension leads to heap memory corruption
High 8.8
In plain English
A high-severity integer overflow in cmark-gfm from github. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 4.5% (higher than 92% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official 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 packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| AlmaLinux:8 | pandoc | 2.0.6-6.el8_6 | ALSA-2022:5597 |
| AlmaLinux:8 | pandoc-common | 2.0.6-6.el8_6 | ALSA-2022:5597 |
| Debian:12 | cmark-gfm | 0.29.0.gfm.3-3 | DEBIAN-CVE-2022-24724 |
| Debian:13 | cmark-gfm | 0.29.0.gfm.3-3 | DEBIAN-CVE-2022-24724 |
| Debian:14 | cmark-gfm | 0.29.0.gfm.3-3 | DEBIAN-CVE-2022-24724 |
| Debian:12 | ghostwriter | 2.1.6+ds-1 | DEBIAN-CVE-2022-24724 |
| Debian:13 | ghostwriter | 2.1.6+ds-1 | DEBIAN-CVE-2022-24724 |
| Debian:14 | ghostwriter | 2.1.6+ds-1 | DEBIAN-CVE-2022-24724 |
| Debian:12 | python-cmarkgfm | 0.7.0-1 | DEBIAN-CVE-2022-24724 |
| Debian:13 | python-cmarkgfm | 0.7.0-1 | DEBIAN-CVE-2022-24724 |
| Debian:14 | python-cmarkgfm | 0.7.0-1 | DEBIAN-CVE-2022-24724 |
| Debian:12 | r-cran-commonmark | 1.8.0-1 | DEBIAN-CVE-2022-24724 |
| Debian:13 | r-cran-commonmark | 1.8.0-1 | DEBIAN-CVE-2022-24724 |
| Debian:14 | r-cran-commonmark | 1.8.0-1 | DEBIAN-CVE-2022-24724 |
| Debian:12 | ruby-commonmarker | 0.23.4-1 | DEBIAN-CVE-2022-24724 |
| Debian:13 | ruby-commonmarker | 0.23.4-1 | DEBIAN-CVE-2022-24724 |
| Debian:14 | ruby-commonmarker | 0.23.4-1 | DEBIAN-CVE-2022-24724 |
| Rocky Linux:8 | pandoc | 0:2.0.6-6.el8_6 | RLSA-2022:5597 |
Affected products (as reported)
Weakness: CWE-190 · Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
References
- https://github.com/github/cmark-gfm/security/advisories/GHSA-mc3g-88wq-6f4x x_refsource_CONFIRM
- FEDORA-2022-557ad15f2e vendor-advisory, x_refsource_FEDORA
- FEDORA-2022-725edc74c0 vendor-advisory, x_refsource_FEDORA
- FEDORA-2022-bc43bafcfd vendor-advisory, x_refsource_FEDORA
- FEDORA-2022-c42d02e5e5 vendor-advisory, x_refsource_FEDORA
- FEDORA-2022-79b9a59e3b vendor-advisory, x_refsource_FEDORA
- FEDORA-2022-1f981071eb vendor-advisory, x_refsource_FEDORA
- http://packetstormsecurity.com/files/166599/cmark-gfm-Integer-overflow.html x_refsource_MISC