commonmark, markdown — security advisory
league/commonmark is a PHP library for parsing and rendering CommonMark Markdown. From 0.6.0 until 2.9.0, specially crafted Markdown lines can cause the parser to have quadratic time complexity when converting, because several parsing paths repeatedly rescan growing portions of a line to translate between character positions and byte positions, and the Autolink extension can also copy and validate the remaining line at every URL-like prefix, allowing an attacker who can submit Markdown for conversion to consume disproportionate CPU time with a comparatively small request. This issue is fixed in 2.9.0.
- Products
- commonmark, markdown
- Affected versions
- 0.9.1-3, 0.9.1-4, 0.9.1-5, 0.9.1-8, 0.9.1-8build1, 1.0.1-10, 1.0.1-10.1, 1.0.1-12, 1.0.1-14, 1.0.1-7, 1.0.1-8, 1.0.1-9
- Fixed versions
- Not specified
- CVEs
- CVE-2026-71488
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 03:14 UTC · Revision 1
Source evidence
league/commonmark is a PHP library for parsing and rendering CommonMark Markdown. From 0.6.0 until 2.9.0, specially crafted Markdown lines can cause the parser to have quadratic time complexity when converting, because several parsing paths repeatedly rescan growing portions of a line to translate between character positions and byte positions, and the Autolink extension can also copy and validate the remaining line at every URL-like prefix, allowing an attacker who can submit Markdown for conversion to consume disproportionate CPU time with a comparatively small request. This issue is fixed in 2.9.0.
osv:UBUNTU-CVE-2026-71488
markdown
Fixed versions: Not specified
markdown
Fixed versions: Not specified
markdown
Fixed versions: Not specified
commonmark
Fixed versions: Not specified
markdown
Fixed versions: Not specified
commonmark
Fixed versions: Not specified
markdown
Fixed versions: Not specified
commonmark
Fixed versions: Not specified
markdown
Fixed versions: Not specified
commonmark
Fixed versions: Not specified
markdown
Fixed versions: Not specified
Complete source record
{
"id": "810cc43f82a63302a85592ed59d983b6b7f14b1b0252ed1545ddd08a2ad05474",
"url": "https://osv.dev/vulnerability/UBUNTU-CVE-2026-71488",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "UBUNTU-CVE-2026-71488",
"summary": "league/commonmark is a PHP library for parsing and rendering CommonMark Markdown. From 0.6.0 until 2.9.0, specially crafted Markdown lines can cause the parser to have quadratic time complexity when converting, because several parsing paths repeatedly rescan growing portions of a line to translate between character positions and byte positions, and the Autolink extension can also copy and validate the remaining line at every URL-like prefix, allowing an attacker who can submit Markdown for conversion to consume disproportionate CPU time with a comparatively small request. This issue is fixed in 2.9.0.",
"evidence": "osv:UBUNTU-CVE-2026-71488",
"products": [
{
"name": {
"value": "markdown",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "1.0.1-7",
"evidence": "/affected/0/versions"
},
{
"value": "1.0.1-8",
"evidence": "/affected/0/versions"
}
]
},
{
"name": {
"value": "markdown",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "1.0.1-9",
"evidence": "/affected/1/versions"
},
{
"value": "1.0.1-10",
"evidence": "/affected/1/versions"
}
]
},
{
"name": {
"value": "markdown",
"evidence": "/affected/2/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "1.0.1-10",
"evidence": "/affected/2/versions"
}
]
},
{
"name": {
"value": "commonmark",
"evidence": "/affected/3/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "0.9.1-3",
"evidence": "/affected/3/versions"
}
]
},
{
"name": {
"value": "markdown",
"evidence": "/affected/4/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "1.0.1-10.1",
"evidence": "/affected/4/versions"
}
]
},
{
"name": {
"value": "commonmark",
"evidence": "/affected/5/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "0.9.1-4",
"evidence": "/affected/5/versions"
},
{
"value": "0.9.1-5",
"evidence": "/affected/5/versions"
}
]
},
{
"name": {
"value": "markdown",
"evidence": "/affected/6/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "1.0.1-12",
"evidence": "/affected/6/versions"
}
]
},
{
"name": {
"value": "commonmark",
"evidence": "/affected/7/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "0.9.1-8build1",
"evidence": "/affected/7/versions"
}
]
},
{
"name": {
"value": "markdown",
"evidence": "/affected/8/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "1.0.1-14",
"evidence": "/affected/8/versions"
}
]
},
{
"name": {
"value": "commonmark",
"evidence": "/affected/9/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "0.9.1-8",
"evidence": "/affected/9/versions"
},
{
"value": "0.9.1-8build1",
"evidence": "/affected/9/versions"
}
]
},
{
"name": {
"value": "markdown",
"evidence": "/affected/10/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "1.0.1-14",
"evidence": "/affected/10/versions"
}
]
}
],
"severity": "high",
"structured": {
"id": "UBUNTU-CVE-2026-71488",
"aliases": [
"UBUNTU-CVE-2026-71488"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
},
{
"type": "Ubuntu",
"score": "medium"
}
],
"affected": [
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "markdown",
"purl": "pkg:deb/ubuntu/markdown?arch=source&distro=xenial",
"ecosystem": "Ubuntu:16.04:LTS"
},
"versions": [
"1.0.1-7",
"1.0.1-8"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-71488.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "markdown",
"binary_version": "1.0.1-8"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "markdown",
"purl": "pkg:deb/ubuntu/markdown?arch=source&distro=bionic",
"ecosystem": "Ubuntu:18.04:LTS"
},
"versions": [
"1.0.1-9",
"1.0.1-10"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-71488.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "markdown",
"binary_version": "1.0.1-10"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "markdown",
"purl": "pkg:deb/ubuntu/markdown?arch=source&distro=focal",
"ecosystem": "Ubuntu:20.04:LTS"
},
"versions": [
"1.0.1-10"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-71488.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "markdown",
"binary_version": "1.0.1-10"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "commonmark",
"purl": "pkg:deb/ubuntu/commonmark?arch=source&distro=jammy",
"ecosystem": "Ubuntu:22.04:LTS"
},
"versions": [
"0.9.1-3"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-71488.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python3-commonmark",
"binary_version": "0.9.1-3"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "markdown",
"purl": "pkg:deb/ubuntu/markdown?arch=source&distro=jammy",
"ecosystem": "Ubuntu:22.04:LTS"
},
"versions": [
"1.0.1-10.1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-71488.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "markdown",
"binary_version": "1.0.1-10.1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "commonmark",
"purl": "pkg:deb/ubuntu/commonmark?arch=source&distro=noble",
"ecosystem": "Ubuntu:24.04:LTS"
},
"versions": [
"0.9.1-4",
"0.9.1-5"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-71488.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python3-commonmark",
"binary_version": "0.9.1-5"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "markdown",
"purl": "pkg:deb/ubuntu/markdown?arch=source&distro=noble",
"ecosystem": "Ubuntu:24.04:LTS"
},
"versions": [
"1.0.1-12"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-71488.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "markdown",
"binary_version": "1.0.1-12"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "commonmark",
"purl": "pkg:deb/ubuntu/commonmark?arch=source&distro=stonking",
"ecosystem": "Ubuntu:26.10"
},
"versions": [
"0.9.1-8build1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-71488.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python3-commonmark",
"binary_version": "0.9.1-8build1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "markdown",
"purl": "pkg:deb/ubuntu/markdown?arch=source&distro=stonking",
"ecosystem": "Ubuntu:26.10"
},
"versions": [
"1.0.1-14"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-71488.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "markdown",
"binary_version": "1.0.1-14"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "commonmark",
"purl": "pkg:deb/ubuntu/commonmark?arch=source&distro=resolute",
"ecosystem": "Ubuntu:26.04:LTS"
},
"versions": [
"0.9.1-8",
"0.9.1-8build1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-71488.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python3-commonmark",
"binary_version": "0.9.1-8build1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "markdown",
"purl": "pkg:deb/ubuntu/markdown?arch=source&distro=resolute",
"ecosystem": "Ubuntu:26.04:LTS"
},
"versions": [
"1.0.1-14"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-71488.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "markdown",
"binary_version": "1.0.1-14"
}
]
}
}
],
"modified": "2026-10-17T13:00:46.199823698Z",
"provider": "osv",
"upstream": [
"CVE-2026-71488"
],
"references": [
"https://ubuntu.com/security/CVE-2026-71488",
"https://www.cve.org/CVERecord?id=CVE-2026-71488",
"https://github.com/thephpleague/commonmark/commit/a6ef6cdc308dfa39a34239c35818e75892a0e6a8",
"https://github.com/thephpleague/commonmark/commit/a70979ea0d7d3377bd7127536748454a922bf5eb",
"https://github.com/thephpleague/commonmark/commit/c97b02e5e652b992033b93ba5d6182f706343fc6",
"https://github.com/thephpleague/commonmark/releases/tag/2.9.0",
"https://github.com/thephpleague/commonmark/security/advisories/GHSA-2q4p-g7hv-5rgv"
]
},
"related_cves": [
{
"value": "CVE-2026-71488",
"evidence": "/upstream"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 360823,
"published_at": "2026-08-06T22:18:00+00:00"
}