{"id":"CVE-2026-71478","summary":"league/commonmark: AttributesExtension href/src unsafe-link filter bypass via embedded control bytes","details":"league/commonmark is a PHP library for parsing and rendering CommonMark Markdown. From 1.5.0 until 2.9.0, the AttributesExtension's href and src unsafe-link filter can be bypassed by embedding control bytes, such as a tab, carriage return, line feed, or leading C0 control character, in a javascript: URL that browsers discard before parsing the scheme, causing the browser to still execute the script even when the unsafe-link filter is enabled. This issue is fixed in 2.9.0.","aliases":["GHSA-29pj-957v-52mc"],"modified":"2026-08-09T03:30:22.909331852Z","published":"2026-08-06T20:30:32.045Z","database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/71xxx/CVE-2026-71478.json","cna_assigner":"GitHub_M","cwe_ids":["CWE-692","CWE-79","CWE-86"]},"references":[{"type":"WEB","url":"https://github.com/thephpleague/commonmark/releases/tag/2.9.0"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/71xxx/CVE-2026-71478.json"},{"type":"ADVISORY","url":"https://github.com/thephpleague/commonmark/security/advisories/GHSA-29pj-957v-52mc"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-71478"},{"type":"FIX","url":"https://github.com/thephpleague/commonmark/commit/493a5aa7d65754b73846006eaff9c2c4431a8e2c"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/thephpleague/commonmark","events":[{"introduced":"fc33ca12575e98e57cdce7d5f38b2ca5335714b3"},{"fixed":"493a5aa7d65754b73846006eaff9c2c4431a8e2c"},{"fixed":"5703d83ba3da3b2e356a5fedc848ed6d8ffb6529"}],"database_specific":{"source":["AFFECTED_FIELD","REFERENCES"],"extracted_events":[{"introduced":"1.5.0"},{"last_affected":"2.8.3"}]}}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-71478.json"}}],"schema_version":"1.8.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"}]}