Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain authenticated API credentials
-
DeliveryIdentify rate-limited tastypie endpoint using CacheThrottle
-
ExploitSend burst of concurrent HTTP requests
-
ExecutionWin TOCTOU race in cache read-modify-write cycle
-
PersistBypass configured rate limit threshold
-
ImpactAccess rate-limited data or exceed permitted request volume
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V15 - Secure Coding and Architecture Concurrency control, locking
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires a valid authenticated user account with API access (PR:L per CVSS vector). The vulnerable code path is only active when the application explicitly configures CacheThrottle or CacheDBThrottle as the throttling class for a tastypie resource - deployments that use no throttling or a custom throttle implementation are unaffected. The attacker must be capable of sending multiple concurrent HTTP requests (not sequential), and successful exploitation depends on winning a cache read-modify-write race condition (AC:H), which is non-trivial and timing-dependent. Exploitation is bounded by the limited impact scope: it does not yield code execution, authentication bypass, or access to resources beyond what the authenticated account already permits. The absence of a subsequent-system scope change (SC:N/SI:N/SA:N) means impact is contained within the tastypie application's own throttle state. |
| Impact | The CVSS 4.0 score of 2.3 accurately reflects a low-priority vulnerability. The high attack complexity (AC:H) is the dominant risk-reducing factor: reliable exploitation requires precise timing of concurrent requests to consistently win the race condition in the cache backend, making casual or opportunistic exploitation impractical. The low-privilege requirement (PR:L per CVSS vector) restricts the attack surface to authenticated API consumers, eliminating unauthenticated exploitation scenarios. Impact is uniformly low across all three CIA dimensions (VC:L/VI:L/VA:L) with no subsequent-system effects (SC:N/SI:N/SA:N), meaning successful exploitation yields throttle bypass and possible minor data exposure - not remote code execution or privilege escalation. No EPSS data was provided in the source intelligence, no CISA KEV listing exists, and no public exploit code has been identified. The E:X (exploit maturity not defined) CVSS 4.0 supplemental metric confirms exploit status is unconfirmed. The primary realistic risk is to applications where rate limiting is a load-bearing security control rather than a convenience feature; in those deployments the integrity impact (throttle circumvention) is disproportionately higher than the raw score suggests. |
| Exploit ScenarioDerived | An authenticated API consumer sends a burst of 50 parallel HTTP requests to a rate-limited django-tastypie endpoint configured with CacheThrottle, timed so that all threads read the current throttle counter before any write completes. Each thread independently evaluates the count as below the threshold and proceeds, effectively multiplying permitted request volume by the degree of concurrency. No public exploit code is known, and consistent exploitation requires careful control of request concurrency and network timing under AC:H conditions. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 19, 2026
Race condition in django-tastypie's throttle module (versions up to 0.15.1) allows authenticated remote users to bypass API rate limiting controls by exploiting a time-of-check to time-of-use (TOCTOU) window in the CacheThrottle and CacheDBThrottle classes. The CVSS 4.0 score of 2.3 with high attack complexity (AC:H) and low-privilege requirement (PR:L) reflects the limited real-world risk; impacts are constrained to minor information disclosure and throttle bypass without subsequent-system effects. No public exploit has been identified and the project maintainers have not yet responded to the disclosure.
RemediationAI
No vendor-released patch has been identified at time of analysis; the project maintainers have not responded to the vulnerability disclosure per the GitHub issue at https://github.com/django-tastypie/django-tastypie/issues/1700, and no patched release version is confirmed. Monitor that issue for upstream resolution. As a compensating control, operators should implement rate limiting at the infrastructure layer - for example, nginx's limit_req_zone directive or an API gateway (AWS API Gateway throttling, Kong rate-limiting plugin) - which enforces limits before requests reach the Python application and is not subject to application-layer race conditions, though the semantics shift from per-authenticated-user to per-IP or per-API-key depending on configuration. If the tastypie throttle is not a critical security boundary and is used only as a courtesy limit, the risk may be accepted pending an upstream patch. Restricting API access to trusted clients reduces the authenticated attacker pool, though this limits public-facing API use cases. Watch https://github.com/django-tastypie/django-tastypie/issues/1700 and the PyPI release page for a patched release.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
django-tastypie is a Python REST API framework built on Django, providing resource-based API routing with built-in throttling support. The vulnerable components are the CacheThrottle and CacheDBThrottle classes in tastypie/throttle.py, which use Django's cache backend to track per-user request counts for rate limiting. CWE-362 (Concurrent Execution Using Shared Resource with Improper Synchronization) identifies the root cause: the throttle check-and-increment sequence is not executed atomically, creating a TOCTOU window. When multiple concurrent requests arrive simultaneously from the same authenticated user, each can independently read the current throttle count before any of them writes an incremented value back, allowing all requests to pass the throttle check before the counter reflects the true request volume. The CPE cpe:2.3:a:n/a:django-tastypie:*:*:*:*:*:*:*:* covers all versions through 0.15.1.
Know when N A gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:H/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N
Network-exploitable race condition requiring authenticated access (PR:L) and precise timing (AC:H), with uniform low CIA impact and no scope change.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
DescriptionCVE.org
A flaw has been found in django-tastypie up to 0.15.1. The affected element is the function CacheThrottle/CacheDBThrottle of the file tastypie/throttle.py. This manipulation causes race condition. The attack may be initiated remotely. The complexity of an attack is rather high. The exploitability is described as difficult. The project was informed of the problem early through an issue report but has not responded yet.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Race conditions occur when multiple concurrent requests exploit the brief time gap between checking a condition and acting upon it (TOCTOU - Time of Check, Time of Use).
LibreNMS before 24.10.0 allows a remote attacker to execute arbitrary code via OS command injection involving AboutContr
Reachable assertion in Open5GS up to version 2.7.6 allows remote unauthenticated attackers to crash the Diameter CER han
A Command Injection issue in the payload build page in BYOB (Build Your Own Botnet) 2.0 allows attackers to execute arbi
Denial of service in Open5GS 2.7.6 and earlier allows network-adjacent attackers with low-privilege Diameter Gx peer acc
Denial of service in Open5GS HSS (Home Subscriber Server) versions 2.7.0 through 2.7.6 is triggered remotely by manipula
Remote command injection in Control Web Panel allows unauthenticated attackers to execute arbitrary OS commands as root
LINQPad before 5.52.01 Pro edition is vulnerable to Unsafe Deserialization in LINQPad.AutoRefManager::PopulateFromCache(
Remote code execution in dash-uploader (Python package for Plotly Dash) versions 0.1.0 through 0.7.0a2 allows unauthenti
Command injection in LiteLLM 1.18.10 lets attackers who can configure MCP (Model Context Protocol) servers supply arbitr
SQL injection in AzuraCast's backup restore flow (versions up to and including 0.23.7) lets an attacker achieve privileg
Arbitrary file read in Yu AI Code Mother v4.3 lets anonymous, remote attackers retrieve files outside the intended previ
Remote code execution in APScheduler (all versions through 3.10.x and 4.0.0a5) is achievable when applications deseriali
EUVD-2026-45419
GHSA-j4r9-g979-rc2x
NVD
CVE.org
EPSS
VulDB
Exploit-DB