Critical
Security advisory
The kramdown gem before 2.3.0 for Ruby processes the template option inside Kramdown documents by default, which allows unintended read access (such as template="/etc/passwd") or unintended embedded Ruby code execution (such as a string that begins with template="string://<%= `). NOTE: kramdown is used in Jekyll, GitLab Pages, GitHub Pages, and Thredded Forum.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2020-14001
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 10:50 UTC · Revision 1
Source evidence
The kramdown gem before 2.3.0 for Ruby processes the template option inside Kramdown documents by default, which allows unintended read access (such as template="/etc/passwd") or unintended embedded Ruby code execution (such as a string that begins with template="string://<%= `). NOTE: kramdown is used in Jekyll, GitLab Pages, GitHub Pages, and Thredded Forum.
osv:CVE-2020-14001
Complete source record
{
"id": "1ca81ed8b4dac7fa1fa2cc20fc953252b951a8504ac8e714feacd4b1c093a513",
"url": "https://osv.dev/vulnerability/CVE-2020-14001",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "CVE-2020-14001",
"summary": "The kramdown gem before 2.3.0 for Ruby processes the template option inside Kramdown documents by default, which allows unintended read access (such as template=\"/etc/passwd\") or unintended embedded Ruby code execution (such as a string that begins with template=\"string://<%= `). NOTE: kramdown is used in Jekyll, GitLab Pages, GitHub Pages, and Thredded Forum.",
"evidence": "osv:CVE-2020-14001",
"products": [],
"severity": "critical",
"structured": {
"id": "CVE-2020-14001",
"aliases": [
"CVE-2020-14001",
"GHSA-mqm2-cgpr-p4m6"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/gettalong/kramdown",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "84e305c87c3f9c4926031e83fefde3c883e919cb"
},
{
"fixed": "1b8fd33c3120bfc6e5164b449e2c2fc9c9306fde"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:kramdown_project:kramdown:*:*:*:*:*:ruby:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "2.3.0"
}
],
"source": "CPE_RANGE"
},
{
"range": [
{
"fixed": "1b8fd33c3120bfc6e5164b449e2c2fc9c9306fde"
}
],
"source": "REFERENCES_COMMIT"
}
]
}
}
],
"versions": [
"REL_2_2_1",
"REL_2_2_0",
"REL_2_1_0",
"REL_2_0_0",
"REL_1_17_0",
"REL_1_16_2",
"REL_1_16_1",
"REL_1_16_0",
"REL_1_15_0",
"REL_1_14_0",
"REL_1_13_2",
"REL_1_13_1",
"REL_1_13_0",
"REL_1_12_0",
"REL_1_11_1",
"REL_1_11_0",
"REL_1_10_0",
"REL_1_9_0",
"REL_1_8_0",
"REL_1_7_0",
"REL_1_6_0",
"REL_1_5_0",
"REL_1_4_2",
"REL_1_4_1",
"REL_1_4_0",
"REL_1_3_3",
"REL_1_3_2",
"REL_1_3_1",
"REL_1_3_0",
"REL_1_2_0",
"REL_1_1_0",
"REL_1_0_2",
"REL_1_0_1",
"REL_0_1_0_1",
"REL_1_0_0",
"REL_0_1_0_0",
"REL_0_14_2",
"REL_0_14_1",
"REL_0_14_0",
"REL_0_13_8",
"REL_0_13_7",
"REL_0_13_6",
"REL_0_13_5",
"REL_0_13_4",
"REL_0_13_3",
"REL_0_13_2",
"REL_0_13_1",
"REL_0_12_0",
"REL_0_11_0",
"REL_0_10_0",
"REL_0_9_0",
"REL_0_8_0",
"REL_0_7_0",
"REL_0_6_0",
"REL_0_5_0",
"REL_0_4_0",
"REL_0_3_0",
"REL_0_2_0",
"REL_0_1_0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2020-14001.json"
}
}
],
"modified": "2026-10-20T10:51:49.470768980Z",
"provider": "osv",
"references": [
"https://lists.apache.org/thread.html/r96df7899fbb456fe2705882f710a0c8e8614b573fbffd8d12e3f54d2%40%3Cnotifications.fluo.apache.org%3E",
"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/ENMMGKHRQIZ3QKGOMBBBGB6B4LB5I7NQ/",
"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/KBLTGBYU7NKOUOHDKVCU4GFZMGA6BP4L/",
"https://github.com/gettalong/kramdown",
"https://kramdown.gettalong.org",
"https://kramdown.gettalong.org/news.html",
"https://lists.debian.org/debian-lts-announce/2020/08/msg00014.html",
"https://rubygems.org/gems/kramdown",
"https://security.netapp.com/advisory/ntap-20200731-0004/",
"https://usn.ubuntu.com/4562-1/",
"https://www.debian.org/security/2020/dsa-4743",
"https://github.com/gettalong/kramdown/commit/1b8fd33c3120bfc6e5164b449e2c2fc9c9306fde",
"https://github.com/gettalong/kramdown/compare/REL_2_2_1...REL_2_3_0"
],
"provider_metadata": {
"unresolved_ranges": [
{
"cpes": [
"cpe:2.3:o:canonical:ubuntu_linux:20.04:*:*:*:lts:*:*:*"
],
"vendor_product": "canonical:ubuntu_linux",
"extracted_events": [
{
"range": [
{
"introduced": "20.04"
},
{
"last_affected": "20.04"
}
],
"source": "CPE_STRING"
}
]
},
{
"cpes": [
"cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:*",
"cpe:2.3:o:debian:debian_linux:9.0:*:*:*:*:*:*:*"
],
"vendor_product": "debian:debian_linux",
"extracted_events": [
{
"range": [
{
"introduced": "9.0"
},
{
"last_affected": "9.0"
},
{
"introduced": "10.0"
},
{
"last_affected": "10.0"
}
],
"source": "CPE_STRING"
}
]
},
{
"cpes": [
"cpe:2.3:o:fedoraproject:fedora:31:*:*:*:*:*:*:*",
"cpe:2.3:o:fedoraproject:fedora:32:*:*:*:*:*:*:*"
],
"vendor_product": "fedoraproject:fedora",
"extracted_events": [
{
"range": [
{
"introduced": "31"
},
{
"last_affected": "31"
},
{
"introduced": "32"
},
{
"last_affected": "32"
}
],
"source": "CPE_STRING"
}
]
}
]
}
},
"related_cves": [
{
"value": "CVE-2020-14001",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 383007,
"published_at": "2020-07-17T16:15:11.23+00:00"
}