CVE-2024-35515
Critical · 9.8CVSS
9.8
EPSS
0.9%
Published
Sep 18, 2024
CISA due date
—
Cloudanix analysis
A flaw in a common data-handling tool lets attackers run their own programs on systems that use it, potentially stealing information or taking over operations.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Remote Code Execution
- Component
- Library
- Class
- Deserialization
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Insecure deserialization in sqlitedict up to v2.1.0 permits loading of untrusted serialized data, resulting in arbitrary code execution within the application process.
Why it matters to the business
Attackers can gain full control over affected systems, leading to data theft, service disruption, or unauthorized access across environments using this library.
How an attack unfolds
An attacker supplies a malicious serialized payload to the library's deserialization routine, which executes attacker-controlled code upon loading without validation.
How to fix it
Upgrade sqlitedict to a version beyond 2.1.0 that enforces safe deserialization practices; avoid loading untrusted data and implement input validation or sandboxing where upgrades are delayed.
How to confirm the fix worked
Review application dependencies for sqlitedict versions at or below 2.1.0, test deserialization paths with known-safe payloads, and verify that malicious payloads no longer execute code after updates.
Typical attack path
- Identify an application or service using sqlitedict for data storage or retrieval
- Craft a malicious serialized object containing arbitrary code
- Deliver the payload via network input, file, or database entry processed by the library
- Trigger deserialization to execute the embedded code and establish control
How to detect it
Examine application logs for unexpected process spawns or errors during data loading, review network traffic or file inputs feeding into sqlitedict usage, and audit recent changes to stored data objects.
What your security team should do
- Scan all Python environments and dependency manifests for sqlitedict <= 2.1.0 and prioritize upgrades
- Implement runtime monitoring for unexpected code execution or process anomalies in applications using the library
- Restrict deserialization to trusted sources only and add serialization format validation
The record
Insecure deserialization in sqlitedict up to v2.1.0 allows attackers to execute arbitrary code.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| PyPI | sqlitedict | 0 | No fix |
| Chainguard | nemo | 0 | 2.5.2-r2 |
| Debian:12 | sqlitedict | 0 | No fix |
| Debian:13 | sqlitedict | 0 | No fix |
| Ubuntu:24.04:LTS | sqlitedict | 0 | No fix |
| Ubuntu:24.10 | sqlitedict | 0 | No fix |
| Ubuntu:25.04 | sqlitedict | 0 | No fix |
| Ubuntu:25.10 | sqlitedict | 0 | No fix |
Related vulnerabilities
- CVE-2026-32274 Black is the uncompromising Python code formatter. Also affects nemo
- CVE-2026-31826 pypdf is a free and open-source pure-python PDF library. Also affects nemo
- CVE-2026-28351 pypdf is a free and open-source pure-python PDF library. Also affects nemo
- CVE-2025-14009 A critical vulnerability exists in the NLTK downloader component of nltk/nltk, affecting… Also affects nemo
- CVE-2026-25934 go-git is a highly extensible git implementation library written in pure Go. Also affects nemo
- CVE-2026-1703 When pip is installing and extracting a maliciously crafted wheel archive, files may be… Also affects nemo
- CVE-2026-24688 pypdf is a free and open-source pure-python PDF library. Also affects nemo
- CVE-2026-0994 A denial-of-service (DoS) vulnerability exists in google.protobuf.json_format.ParseDict()… Also affects nemo