CVE-2023-47128

Public Exploit
piccolo SQL Injection via named transaction savepoints

Description

Piccolo is an object-relational mapping and query builder which supports asyncio. Prior to version 1.1.1, the handling of named transaction `savepoints` in all database implementations is vulnerable to SQL Injection via f-strings. While the likelihood of an end developer exposing a `savepoints` `name` parameter to a user is highly unlikely, it would not be unheard of. If a malicious user was able to abuse this functionality they would have essentially direct access to the database and the ability to modify data to the level of permissions associated with the database user. A non exhaustive list of actions possible based on database permissions is: Read all data stored in the database, including usernames and password hashes; insert arbitrary data into the database, including modifying existing records; and gain a shell on the underlying server. Version 1.1.1 fixes this issue.

Category

9.1
CVSS
Severity: Critical
CVSS 3.1 •
EPSS 0.23%
Vendor Advisory github.com
Affected: piccolo-orm piccolo
Published at:
Updated at:

References

Frequently Asked Questions

What is the severity of CVE-2023-47128?
CVE-2023-47128 has been scored as a critical severity vulnerability.
How to fix CVE-2023-47128?
To fix CVE-2023-47128, make sure you are using an up-to-date version of the affected component(s) by checking the vendor release notes. As for now, there are no other specific guidelines available.
Is CVE-2023-47128 being actively exploited in the wild?
It is possible that CVE-2023-47128 is being exploited or will be exploited in a near future based on public information. According to its EPSS score, there is a ~0% probability that this vulnerability will be exploited by malicious actors in the next 30 days.
What software or system is affected by CVE-2023-47128?
CVE-2023-47128 affects piccolo-orm piccolo.
This platform uses data from the NIST NVD, MITRE CVE, MITRE CWE, First.org and CISA KEV but is not endorsed or certified by these entities. CVE is a registred trademark of the MITRE Corporation and the authoritative source of CVE content is MITRE's CVE web site. CWE is a registred trademark of the MITRE Corporation and the authoritative source of CWE content is MITRE's CWE web site.
© 2025 Under My Watch. All Rights Reserved.