CommonMarker uses cmark-gfm
for rendering Github Flavored Markdown. An integer overflow in cmark-gfm
’s table row parsing 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.
If affected versions of CommonMarker are used for rendering remote user controlled markdown, this vulnerability may lead to Remote Code Execution (RCE).
This vulnerability has been patched in the following CommonMarker release:
The vulnerability exists in the table markdown extensions of cmark-gfm
. Disabling any use of the table extension will prevent this vulnerability from being triggered.
We would like to thank Felix Wilhelm of Google’s Project Zero for reporting this vulnerability
If you have any questions or comments about this advisory:
github.com/github/cmark-gfm/security/advisories/GHSA-mc3g-88wq-6f4x
github.com/gjtorikian/commonmarker
github.com/gjtorikian/commonmarker/commit/ab4504fd17460627a6ab255bc3c63e8e5fc6aed3
github.com/gjtorikian/commonmarker/security/advisories/GHSA-fmx4-26r3-wxpf
github.com/rubysec/ruby-advisory-db/blob/master/gems/commonmarker/CVE-2024-22051.yml
nvd.nist.gov/vuln/detail/CVE-2024-22051