CVE-2024-30248 Piccolo Admin's raw SVG loading may lead to complete data compromise from admin page

High 7.7 Published Updated

Attackers can upload malicious SVG files to the Piccolo Admin panel, leading to arbitrary code execution and data compromise via XSS.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Over the internet
Victim action needed
A user has to click or open something
Fix
Available

What is CVE-2024-30248?

CVE-2024-30248 is a high-severity cross-site scripting vulnerability in piccolo-orm piccolo_admin, published on 2 Apr 2024. Any signed-in user can exploit it over the network, and only if a user opens a file or follows a link.

Official description

Piccolo Admin is an admin interface/content management system for Python, built on top of Piccolo. Piccolo's admin panel allows media files to be uploaded. As a default, SVG is an allowed file type for upload. An attacker can upload an SVG which when loaded can allow arbitrary access to the admin page. This vulnerability was patched in version 1.3.2.

Weakness: CWE-79

Which versions are affected by CVE-2024-30248?

3 open source packages ship an affected version, including piccolo-admin.

PackageAffectedFixed in
piccolo-admin PyPIFrom 1.2.01.3.2
piccolo-admin PyPIFrom 1.2.01.3.2
piccolo-admin PyPIFrom 1.2.01.3.2

How do I fix CVE-2024-30248?

Upgrade piccolo-admin to 1.3.2 or later.

Escape output for the context it lands in and set a strict Content Security Policy. Upgrading the affected component is the real fix. More about Cross-site scripting.

Is CVE-2024-30248 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2024-30248 exists.

Sources

Also known as GHSA-pmww-v6c9-7p83, PYSEC-2026-1780.

Is CVE-2024-30248 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free