CVE-2026-107378 · GHSA-c3jg-qh8m-j3h2
CairoSVG: Quadratic-time DoS parsing a crafted SVG <path>
- Risk score
- 68/100
- CVSS
- 8.7 v4.0
- Exploit chance (30 days)
- 0.4%
- Published
- 8 Oct 2026
Open in the live forecast Today's forecast
What to know
- What it is
- 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…
- Affected
- cairosvg (pip) <= 2.9.0
- Fix
- Upgrade cairosvg to 2.9.1 or later.
- Exploitation
- No known exploitation
Why it is Amber
- CVSS 8.7 high
- Remotely exploitable without logging in
- On your watchlist: PyPI
Affected packages
| Package | Ecosystem | Vulnerable | Fixed in |
|---|---|---|---|
| cairosvg | pip | <= 2.9.0 | 2.9.1 |
References
- https://github.com/advisories/GHSA-c3jg-qh8m-j3h2
- https://github.com/Kozea/CairoSVG/security/advisories/GHSA-c3jg-qh8m-j3h2
- https://nvd.nist.gov/vuln/detail/CVE-2026-107378
- https://github.com/Kozea/CairoSVG/commit/9d63f049f9988d0ddda3eb94564ac3a50a286523
- https://github.com/Kozea/CairoSVG/commit/a4d585eb374724b79676e9cceaa9e9a1a4358565
- https://github.com/Kozea/CairoSVG/releases/tag/2.9.1
- https://github.com/advisories/GHSA-c3jg-qh8m-j3h2
Original description
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.
Last activity 8 Oct 2026. Patch Forecast updates every hour.