CVE-2020-5238
Denial of service in table parsing in cmark-gfm
The table extension in GitHub Flavored Markdown before version 0.29.0.gfm.1 takes O(n * n) time to parse certain inputs. An attacker could craft a markdown table which would take an unreasonably long time to process, causing a denial of service. This issue does not affect the upstream cmark project. The issue has been fixed in version 0.29.0.gfm.1.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
6.5
Denial of service in table parsing in cmark-gfm
The table extension in GitHub Flavored Markdown before version 0.29.0.gfm.1 takes O(n * n) time to parse certain inputs. An attacker could craft a markdown table which would take an unreasonably long time to process, causing a denial of service. This issue does not affect the upstream cmark project. The issue has been fixed in version 0.29.0.gfm.1.
- Record
CVE-2020-5238- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-20
- Updated
- 2026-11-02
EUVDEUVD-2020-26457
6.5
The table extension in GitHub Flavored Markdown before version 0.29.0.gfm.1 takes O(n * n) time to parse certain inputs. An attacker could craft a markdown table which would take an unreasonably long time to process, causing a denial of service. This issue does not affect the upstream cmark project. The issue has been fixed in version 0.29.0.gfm.1.
- Record
EUVD-2020-26457- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-03
NVD
6.5
The table extension in GitHub Flavored Markdown before version 0.29.0.gfm.1 takes O(n * n) time to parse certain inputs. An attacker could craft a markdown table which would take an unreasonably long time to process, causing a denial of service. This issue does not affect the upstream cmark project. The issue has been fixed in version 0.29.0.gfm.1.
- Record
CVE-2020-5238- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H - CVSS 2.0
- 4.0 Medium
AV:N/AC:L/Au:S/C:N/I:N/A:P - Weakness
- CWE-20
- Updated
- 2026-11-02
OSV
6.5
The table extension in GitHub Flavored Markdown before version 0.29.0.gfm.1 takes O(n * n) time to parse certain inputs. An attacker could craft a markdown table which would take an unreasonably long time to process, causing a denial of service. This issue does not affect the upstream cmark project. The issue has been fixed in version 0.29.0.gfm.1.
- Record
CVE-2020-5238- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVDEBIAN-CVE-2020-5238
6.5
The table extension in GitHub Flavored Markdown before version 0.29.0.gfm.1 takes O(n * n) time to parse certain inputs. An attacker could craft a markdown table which would take an unreasonably long time to process, causing a denial of service. This issue does not affect the upstream cmark project. The issue has been fixed in version 0.29.0.gfm.1.
- Record
DEBIAN-CVE-2020-5238- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVRHSA-2021:1972
6.5
Red Hat Security Advisory: pandoc security update
- Record
RHSA-2021:1972- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2020-5238
6.5
The table extension in GitHub Flavored Markdown before version 0.29.0.gfm.1 takes O(n * n) time to parse certain inputs. An attacker could craft a markdown table which would take an unreasonably long time to process, causing a denial of service. This issue does not affect the upstream cmark project. The issue has been fixed in version 0.29.0.gfm.1.
- Record
UBUNTU-CVE-2020-5238- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVALSA-2021:1972 No score
Moderate: pandoc security update
Pandoc is a Haskell library for converting from one markup format to another, and a command-line tool that uses this library.
Security Fix(es):
- cmark-gfm: Exponential time to parse certain inputs could lead to DoS (CVE-2020-5238)
For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.
Additional Changes:
For detailed information on changes in this release, see the AlmaLinux Release Notes linked from the References section.
- Record
ALSA-2021:1972- Updated
- 2026-11-02
OSVRSEC-2023-6 No score
Denial of Service (DoS) vulnerability
The commonmark package, specifically in its dependency on GitHub Flavored Markdown before version 0.29.0.gfm.1, has a vulnerability related to time complexity. Parsing certain crafted markdown tables can take O(n * n) time, leading to potential Denial of Service attacks. This issue does not affect the upstream cmark project and has been fixed in version 0.29.0.gfm.1.
- Record
RSEC-2023-6- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
pandocAlmaLinux:8 |
before 2.0.6-5.el8 | 2.0.6-5.el8 |
pandoc-commonAlmaLinux:8 |
before 2.0.6-5.el8 | 2.0.6-5.el8 |
cmark-gfmDebian:12 |
before 0.29.0.gfm.2-1 | 0.29.0.gfm.2-1 |
cmark-gfmDebian:13 |
before 0.29.0.gfm.2-1 | 0.29.0.gfm.2-1 |
cmark-gfmDebian:14 |
before 0.29.0.gfm.2-1 | 0.29.0.gfm.2-1 |
haskell-cmark-gfmDebian:12 |
before 0.2.1+ds1-1 | 0.2.1+ds1-1 |
haskell-cmark-gfmDebian:13 |
before 0.2.1+ds1-1 | 0.2.1+ds1-1 |
haskell-cmark-gfmDebian:14 |
before 0.2.1+ds1-1 | 0.2.1+ds1-1 |
python-cmarkgfmDebian:12 |
before 0.7.0-1 | 0.7.0-1 |
python-cmarkgfmDebian:13 |
before 0.7.0-1 | 0.7.0-1 |
Show 30 moreShow less
| Package | Affected | Fixed |
|---|---|---|
python-cmarkgfmDebian:14 |
before 0.7.0-1 | 0.7.0-1 |
r-cran-commonmarkDebian:12 |
before 1.8.0-1 | 1.8.0-1 |
r-cran-commonmarkDebian:13 |
before 1.8.0-1 | 1.8.0-1 |
r-cran-commonmarkDebian:14 |
before 1.8.0-1 | 1.8.0-1 |
ruby-commonmarkerDebian:12 |
before 0.21.0-1 | 0.21.0-1 |
ruby-commonmarkerDebian:13 |
before 0.21.0-1 | 0.21.0-1 |
ruby-commonmarkerDebian:14 |
before 0.21.0-1 | 0.21.0-1 |
pandocRed Hat:enterprise_linux:8::crb |
before 0:2.0.6-5.el8 | 0:2.0.6-5.el8 |
pandoc-commonRed Hat:enterprise_linux:8::crb |
before 0:2.0.6-5.el8 | 0:2.0.6-5.el8 |
commonmarkCRAN |
0.2 up to 1.8, plus listed versions 0.40.50.60.70.8 Show 8 moreShow less0.91.01.11.21.41.51.61.7 |
1.8 |
cmark-gfmUbuntu:Pro:20.04:LTS |
All versions, plus listed versions 0.28.3.gfm.20-30.29.0.gfm.0-30.29.0.gfm.0-40.29.0.gfm.0-4ubuntu0.1~esm1 |
None known |
haskell-cmark-gfmUbuntu:20.04:LTS |
All versions, plus listed versions 0.1.8-1build1 |
None known |
python-cmarkgfmUbuntu:20.04:LTS |
All versions, plus listed versions 0.4.2-1build10.4.2-1build2 |
None known |
r-cran-commonmarkUbuntu:20.04:LTS |
All versions, plus listed versions 1.7-1 |
None known |
ruby-commonmarkerUbuntu:20.04:LTS |
All versions, plus listed versions 0.17.9-10.20.2-1build1 |
None known |
haskell-cmark-gfmUbuntu:22.04:LTS |
All versions, plus listed versions 0.2.1+ds1-1build10.2.1+ds1-2build10.2.1+ds1-2build2 |
None known |
python-cmarkgfmUbuntu:22.04:LTS |
All versions, plus listed versions 0.4.2-1build30.4.2-1build50.8.0-1 |
None known |
r-cran-commonmarkUbuntu:22.04:LTS |
All versions, plus listed versions 1.7-2 |
None known |
haskell-cmark-gfmUbuntu:24.04:LTS |
All versions, plus listed versions 0.2.5+ds1-1build20.2.5+ds1-2 |
None known |
python-cmarkgfmUbuntu:24.04:LTS |
All versions, plus listed versions 0.8.0-3 |
None known |
r-cran-commonmarkUbuntu:24.04:LTS |
All versions, plus listed versions 1.9.0-11.9.1-1 |
None known |
haskell-cmark-gfmUbuntu:25.10 |
All versions, plus listed versions 0.2.6+ds1-1 |
None known |
python-cmarkgfmUbuntu:25.10 |
All versions, plus listed versions 0.8.0-32024.11.20-1 |
None known |
r-cran-commonmarkUbuntu:25.10 |
All versions, plus listed versions 1.9.5-1 |
None known |
haskell-cmark-gfmUbuntu:26.10 |
All versions, plus listed versions 0.2.6+ds1-3 |
None known |
python-cmarkgfmUbuntu:26.10 |
All versions, plus listed versions 2025.10.22-2 |
None known |
r-cran-commonmarkUbuntu:26.10 |
All versions, plus listed versions 2.0.0-22.0.0-3 |
None known |
haskell-cmark-gfmUbuntu:26.04:LTS |
All versions, plus listed versions 0.2.6+ds1-10.2.6+ds1-3 |
None known |
python-cmarkgfmUbuntu:26.04:LTS |
All versions, plus listed versions 2024.11.20-12025.10.22-12025.10.22-2 |
None known |
r-cran-commonmarkUbuntu:26.04:LTS |
All versions, plus listed versions 1.9.5-12.0.0-12.0.0-2 |
None known |
History
| Recorded | Changed | Sources |
|---|---|---|
| aliases | EUVD | |
| first indexed | CVE List, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2020-5238 is a medium vulnerability (CVSS 6.5) in Github Cmark-gfm, published July 1, 2020. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.57%, the 75th percentile. Fixed in pandoc 2.0.6-5.el8.
References
github.com/github/cmark-gfm/security/advisories/GHSA-7gc6-9qr5-hc85
github.com/github/cmark-gfm/commit/85d895289c5ab67f988ca659493a64abb5fec7b4
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/TCDHBTUFIOYRIS5HAS6PZNBNMB7IOAX3
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/ZGJH2A4VAV54X6NSCNNGSEIGIIY5N2VR
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/WMQFOQQCWOAMQ4I2XIVCVOXXIJ75HDCW
errata.almalinux.org/8/ALSA-2021-1972.html
Show 13 moreShow less
vulners.com/cve/CVE-2020-5238
security-tracker.debian.org/tracker/CVE-2020-5238
access.redhat.com/errata/RHSA-2021:1972
access.redhat.com/security/updates/classification
access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/8.4_release_notes
bugzilla.redhat.com/show_bug.cgi?id=1854328
security.access.redhat.com/data/csaf/v2/advisories/2021/rhsa-2021_1972.json
access.redhat.com/security/cve/CVE-2020-5238
cve.org/CVERecord?id=CVE-2020-5238
nvd.nist.gov/vuln/detail/CVE-2020-5238
github.com/r-lib/commonmark/issues/13
github.com/r-lib/commonmark/pull/18
ubuntu.com/security/CVE-2020-5238