PYSEC-2026-3077
Vulnerability from pysec - Published: 2026-07-13 15:15 - Updated: 2026-07-13 16:06
VLAI
Details
The superduper project thru v0.10.0 contains a critical remote code execution vulnerability in its query parsing component. The _parse_op_part() function in query.py uses the unsafe eval() function to dynamically evaluate user-supplied query operands without proper sanitization or restriction. Although the function attempts to limit the execution context by providing a restricted global namespace, it does not block access to dangerous built-in functions. A remote attacker can exploit this by submitting a specially crafted query string containing Python code that imports modules (e.g., os) and executes arbitrary system commands, leading to complete compromise of the server.
Severity
8.8 (High)
Impacted products
| Name | purl | superduper-framework | pkg:pypi/superduper-framework |
|---|
Aliases
{
"affected": [
{
"package": {
"ecosystem": "PyPI",
"name": "superduper-framework",
"purl": "pkg:pypi/superduper-framework"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "0.10.0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"0.10.0",
"0.3.0",
"0.4.0",
"0.4.1",
"0.4.2",
"0.4.3",
"0.4.4",
"0.4.5",
"0.5.0",
"0.5.1",
"0.5.10",
"0.5.11",
"0.5.13",
"0.5.14",
"0.5.15",
"0.5.16",
"0.5.17",
"0.5.18",
"0.5.19",
"0.5.2",
"0.5.20",
"0.5.21",
"0.5.22",
"0.5.23",
"0.5.24",
"0.5.25",
"0.5.26",
"0.5.27",
"0.5.28",
"0.5.29",
"0.5.3",
"0.5.30",
"0.5.31",
"0.5.32",
"0.5.33",
"0.5.34",
"0.5.35",
"0.5.36",
"0.5.37",
"0.5.38",
"0.5.39",
"0.5.4",
"0.5.40",
"0.5.5",
"0.5.8",
"0.5.9",
"0.6.0",
"0.6.1",
"0.6.3",
"0.6.4",
"0.6.5",
"0.6.6",
"0.6.7",
"0.7.0",
"0.7.1",
"0.7.2",
"0.7.3",
"0.8.1",
"0.8.2",
"0.9.0"
]
}
],
"aliases": [
"CVE-2026-31225",
"GHSA-2799-6g5r-mmc7"
],
"details": "The superduper project thru v0.10.0 contains a critical remote code execution vulnerability in its query parsing component. The _parse_op_part() function in query.py uses the unsafe eval() function to dynamically evaluate user-supplied query operands without proper sanitization or restriction. Although the function attempts to limit the execution context by providing a restricted global namespace, it does not block access to dangerous built-in functions. A remote attacker can exploit this by submitting a specially crafted query string containing Python code that imports modules (e.g., os) and executes arbitrary system commands, leading to complete compromise of the server.",
"id": "PYSEC-2026-3077",
"modified": "2026-07-13T16:06:22.010240Z",
"published": "2026-07-13T15:15:46.231982Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-31225"
},
{
"type": "PACKAGE",
"url": "https://github.com/superduper-io/superduper"
},
{
"type": "WEB",
"url": "https://www.notion.so/CVE-2026-31225-35d1e1393188814f99b5eec7b6517190"
},
{
"type": "PACKAGE",
"url": "https://pypi.org/project/superduper-framework"
},
{
"type": "ADVISORY",
"url": "https://github.com/advisories/GHSA-2799-6g5r-mmc7"
}
],
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
],
"summary": "Superduper: Remote code execution via unsafe eval in superduper query parsing"
}
Loading…
Loading…
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
Loading…