{"answers":{"affected":"3 open source packages ship an affected version, including piccolo-admin.","exploited":"It is not confirmed as exploited in the wild, but public exploit code for CVE-2024-30248 exists.","fix":"Upgrade piccolo-admin to 1.3.2 or later.","what":"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."},"fix_prompt":"Check this codebase for CVE-2024-30248 and fix it if it is affected.\n\nWhat it is: 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.\nExploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2024-30248 exists.\n\nAffected packages and fixed versions:\n- piccolo-admin (PyPI): affected from 1.2.0; fixed in 1.3.2\n- piccolo-admin (PyPI): affected from 1.2.0; fixed in 1.3.2\n- piccolo-admin (PyPI): affected from 1.2.0; fixed in 1.3.2\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2024-30248/ (Markdown: https://insights.sbomify.com/CVE-2024-30248/index.md)","id":"CVE-2024-30248","markdown":"https://insights.sbomify.com/CVE-2024-30248/index.md","name":"CVE-2024-30248","record":{"aliases":["GHSA-pmww-v6c9-7p83","PYSEC-2026-1780"],"analysis":{"component_type":"web_application","fix_type":"upgrade","impacts":["code_execution","data_read"],"network_reachable":"yes","non_default_config":false,"product_category":"Piccolo Admin","requires_auth":"low_privilege","summary":"Attackers can upload malicious SVG files to the Piccolo Admin panel, leading to arbitrary code execution and data compromise via XSS.","user_interaction":"required","vuln_class":"xss"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[],"cvss":{"score":7.7,"severity":"high","source":"cna","vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:N","version":"3.1"},"cwes":[{"id":"CWE-79","name":"Improper Neutralization of Input During Web Page Generation"}],"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.","ecosystems":["PyPI"],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"weaponised"},"has_fix":true,"headline":"Piccolo Admin's raw SVG loading may lead to complete data compromise from admin page","id":"CVE-2024-30248","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"PyPI","product":null,"products":[],"type":"xss","year":"2024"},"n_packages":3,"n_references":2,"next":{"headline":"Cloudburst Network DoS in RakNet connection handling","id":"CVE-2024-30249"},"packages":[{"ecosystem":"PyPI","fixed":["1.3.2"],"introduced":["1.2.0"],"last_affected":[],"package":"piccolo-admin","purl":null,"source":"GHSA-pmww-v6c9-7p83"},{"ecosystem":"PyPI","fixed":["1.3.2"],"introduced":["1.2.0"],"last_affected":[],"package":"piccolo-admin","purl":"pkg:pypi/piccolo-admin","source":"GHSA-pmww-v6c9-7p83"},{"ecosystem":"PyPI","fixed":["1.3.2"],"introduced":["1.2.0"],"last_affected":[],"package":"piccolo-admin","purl":"pkg:pypi/piccolo-admin","source":"PYSEC-2026-1780"}],"prev":{"headline":"Command Injection as root in NextCloudPi web panel","id":"CVE-2024-30247"},"products":["piccolo_admin"],"published":"2024-04-02","related":[],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"CC BY 4.0","name":"PyPA Advisory Database","prefix":"PYSEC"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"no","exploitation":"poc","technical_impact":"total"},"state":"PUBLISHED","updated":"2024-08-02","vendors":["piccolo-orm"]},"summary":"Attackers can upload malicious SVG files to the Piccolo Admin panel, leading to arbitrary code execution and data compromise via XSS.","url":"https://insights.sbomify.com/CVE-2024-30248/"}