{"id":"CVE-2026-107378","summary":"CairoSVG: Quadratic-time DoS parsing a crafted SVG \u003cpath\u003e","details":"CairoSVG is an SVG converter based on Cairo, a 2D graphics library. Prior to 2.9.1, rendering an attacker-controlled SVG with a path containing many segments can cause quadratic CPU consumption in cairosvg/path.py. The path tokenizer repeatedly slices and rescans the remaining path data, while draw_markers drains node.vertices with node.vertices.pop(0), causing repeated linear-time work. The svg2png, svg2pdf, and svg2ps APIs reach these operations during ordinary rendering, allowing a sub-megabyte SVG to consume substantial CPU and deny service to a rendering application. This issue is fixed in version 2.9.1.","aliases":["GHSA-c3jg-qh8m-j3h2"],"modified":"2026-10-09T10:30:56.512807644Z","published":"2026-10-08T17:59:09.505Z","database_specific":{"cna_assigner":"GitHub_M","cwe_ids":["CWE-407"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/107xxx/CVE-2026-107378.json"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/107xxx/CVE-2026-107378.json"},{"type":"FIX","url":"https://github.com/Kozea/CairoSVG/commit/9d63f049f9988d0ddda3eb94564ac3a50a286523"},{"type":"FIX","url":"https://github.com/Kozea/CairoSVG/commit/a4d585eb374724b79676e9cceaa9e9a1a4358565"},{"type":"WEB","url":"https://github.com/Kozea/CairoSVG/releases/tag/2.9.1"},{"type":"ADVISORY","url":"https://github.com/Kozea/CairoSVG/security/advisories/GHSA-c3jg-qh8m-j3h2"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-107378"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/kozea/cairosvg","events":[{"introduced":"0"},{"fixed":"3b7a250c9e955db9c3cdf525d5b5027a9a396201"}],"database_specific":{"extracted_events":[{"introduced":"0"},{"fixed":"2.9.1"}],"source":"AFFECTED_FIELD"}}],"versions":["2.9.0","2.8.2","2.8.1","2.8.0","2.7.1","2.7.0","2.6.0","2.5.2","2.5.1","2.5.0","2.4.2","2.4.1","2.4.0","2.3.1","2.3.0","2.2.1","2.2.0","2.1.3","2.1.2","2.1.1","2.1.0","2.0.3","2.0.2","2.0.1","2.0.0","2.0.0rc6","2.0.0-rc6","2.0.0rc5","2.0.0rc4","2.0.0rc3","2.0.0rc2","2.0.0rc1","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.3","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.2","1.0.1","1.0","0.5","0.4.4","0.4.3","0.4.2","0.4.1","0.4","0.3.1","0.3","0.2","0.1.1","0.1"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-107378.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N"}]}