Raw vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HSummary
CVE-2024-4340 is a high-severity Uncontrolled Recursion (CWE-674) vulnerability in Jfrog (inferred from references). Its CVSS base score is 7.5 (High).
Operationally, exploitation aligns with the MITRE ATT&CK technique Endpoint Denial of Service (T1499); ranked in the top 13% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog.
The strongest mitigations our analysis identified map to SI-10 (Information Input Validation) and SC-5 (Denial-of-service Protection) — see the control section below for these in your framework.
Deeper analysis AI-assisted summary
Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.
CVE-2024-4340 is an uncontrolled recursion vulnerability (CWE-674) in the sqlparse Python library. Passing a heavily nested list to the sqlparse.parse() function triggers a RecursionError that crashes the calling process, resulting in a denial of service. The flaw affects any application that invokes sqlparse on untrusted or attacker-controlled input and carries a CVSS 3.1 score of 7.5.
An unauthenticated remote attacker can exploit the issue by supplying a maliciously crafted SQL string or nested structure to any service that uses sqlparse.parse() without prior depth validation. Successful exploitation requires only network reachability and produces an immediate application crash or worker restart, with no impact on confidentiality or integrity.
Public advisories and the referenced GitHub security advisory GHSA-2m57-hf25-phgg point to commit b4a39d9850969b4e1d6940d32094ee0b42a2cf03 as the corrective patch; users are advised to upgrade to a version containing this change. The JFrog research note further recommends input sanitization or recursion-depth limits as interim controls until patching is complete.
EPSS for the CVE rose from a low baseline to a peak of 0.1704 (current value 0.1088), indicating measurable post-disclosure exploitation interest that warrants renewed attention from defenders.
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2024-1064
Vulnerability Data
Passing a heavily nested list to sqlparse.parse() leads to a Denial of Service due to RecursionError.
- CWE(s)
Related Threats
MITRE ATT&CK Enterprise Techniques
CVEs Like This One
Affected Assets
Mitigating Controls
Mitigating Controls (NIST 800-53 r5) AI
Input validation can reject or constrain data that would otherwise drive unbounded recursive calls.
DoS protection mechanisms limit the resource-exhaustion impact of uncontrolled recursion without eliminating the flaw.
System monitoring can observe anomalous resource consumption that signals runaway recursion after it begins.
Mitigating Controls (NIST CSF 2.0) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.
Secure SDLC practices directly prevent coding errors such as missing recursion limits or termination conditions.
Runtime monitoring of compute resources can detect excessive consumption caused by uncontrolled recursion.
Vulnerability identification processes can discover and record uncontrolled recursion flaws before deployment.
Capacity monitoring and resource provisioning can absorb or limit the impact of runaway recursion.
Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.
Security testing in development can detect excessive recursion via static analysis or fuzzing.
Secure development life cycle requires controls that prevent uncontrolled recursion through design and code review.
Application security requirements can mandate recursion limits or stack-depth checks.
Secure system architecture principles include resource-management and input-validation rules that limit recursion.
Secure coding standards directly prohibit or constrain recursive constructs that could exhaust stack or memory.
Capacity management includes monitoring and limits that mitigate resource exhaustion from runaway recursion.