Skip to content
OpenAdvisories
High · 7.5 Public exploit CVE-2026-31899 EUVD-2026-12091GHSA-f38f-5xpm-9r7cPYSEC-2026-2122

CairoSVG vulnerable to Exponential DoS via recursive <use> element amplification

Published Mar 13, 2026 · Updated Mar 16, 2026 · Assigned by GitHub_M

Description

CairoSVG is an SVG converter based on Cairo, a 2D graphics library. Prior to Kozea/CairoSVG has exponential denial of service via recursive <use> element amplification in cairosvg/defs.py. This causes CPU exhaustion from a small input.

Affected products

VendorProductAffectedFixed
Kozea CairoSVG < 2.9.0 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 cairosvg 2.9.0-1 —
Debian 13 cairosvg No fix yet —
Debian 12 cairosvg No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 cairosvg No fix yet —
Ubuntu 26.04 LTS cairosvg No fix yet —
Ubuntu 25.10 cairosvg No fix yet —
Ubuntu 24.04 LTS cairosvg No fix yet —
Ubuntu 22.04 LTS cairosvg No fix yet —
Show 3 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu 20.04 LTS cairosvg No fix yet —
Ubuntu 18.04 LTS cairosvg No fix yet —
Ubuntu 16.04 LTS cairosvg No fix yet —
ReleasePackageFixed inAdvisory
SLES 3 python-CairoSVG 2.7.1-150400.9.6.1 SUSE-SU-2026:1421-1
Show 2 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES for SAP 16.0 python-CairoSVG 2.7.1-160000.3.1 SUSE-SU-2026:22024-1
SLES 16.0 python-CairoSVG 2.7.1-160000.3.1 SUSE-SU-2026:22024-1
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed ansible-creator 26.8.0-1.1 openSUSE-SU-2026:11729-1
openSUSE Tumbleweed python-CairoSVG 2.9.0-1.1 openSUSE-SU-2026:10379-1
openSUSE Leap 15.6 python-CairoSVG 2.7.1-150400.9.6.1 SUSE-SU-2026:1421-1
ReleasePackageFixed inAdvisory
Alpine v3.24 py3-cairosvg 2.9.0-r0 —
Alpine v3.23 py3-cairosvg 2.9.0-r0 —

Public exploits

Exploit or proof-of-concept code for this vulnerability is publicly available, which lowers the bar for attackers. Treat it as a reason to patch sooner.

Third-party code, not reviewed by us. Public PoCs are sometimes fake or contain malware. Read the code first and run it only in an isolated lab, against systems you are authorised to test.

GitHub 1 repository

  • SnailSploit/CVE-2026-31899 ★ 1 · Mar 15, 2026

    CVE-2026-31899: Exponential DoS via Recursive <use> Element Amplification in CairoSVG (CVSS 7.5 High)

Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.

Affected packages

EcosystemPackageAffectedFixedRecord
PyPI cairosvg < 2.9.0 2.9.0 GHSA-f38f-5xpm-9r7c

Advisories 4

References