CWE-835: Loop with Unreachable Exit Condition ('Infinite Loop')
The product contains an iteration or loop with an exit condition that cannot be reached, i.e., an infinite loop.
Last updated
Overview
CWE-835 (Loop with Unreachable Exit Condition ('Infinite Loop')) is a base-level software weakness catalogued by MITRE in the Common Weakness Enumeration (CWE). It describes a recurring type of mistake that can lead to exploitable security vulnerabilities.
Real-world CVEs
361 recorded CVEs are caused by CWE-835 (Loop with Unreachable Exit Condition ('Infinite Loop')), including 1 in CISA's KEV (Known Exploited Vulnerabilities) catalog. KEVs are shown first. 135 new CWE-835 CVEs have been recorded so far in 2026 (47 in 2025).
- CVE-2024-20353CISA KEVCritical · CVSS 9.2 · EPSS 99th2024-04-24
- CVE-2026-24816
Cookie Security Vulnerabilities in datavane/tis
Critical · CVSS 10.0 · EPSS 17th2026-01-27 - CVE-2025-21850
nvmet: Fix crash when a namespace is disabled
Critical · CVSS 9.8 · EPSS 33th2025-03-12 - CVE-2026-24804
A infinite loop vulnerability in coolsnowwolf/lede
Critical · CVSS 9.2 · EPSS 17th2026-01-27 - CVE-2026-24803
A possible infinite loop vulnerability in coolsnowwolf/lede
Critical · CVSS 9.2 · EPSS 19th2026-01-27 - CVE-2024-43366
zkvyper ignored loop range bounds
Critical · CVSS 9.1 · EPSS 42th2024-08-15 - CVE-2021-42143Critical · CVSS 9.1 · EPSS 54th2024-01-24
- CVE-2026-61556
LiquidJS: An infinite loop vulnerability in `strip_html` filter
High · CVSS 8.7 · EPSS 24th2026-08-19 - CVE-2026-8798
Native entropy source retries the CPU entropy instructions without limit
High · CVSS 8.7 · EPSS 25th2026-08-08 - CVE-2026-59901
Netty Bzip2Decoder: Infinite Loop in RLE State Machine Leads to Event-Loop Thread Hang
High · CVSS 8.7 · EPSS 18th2026-07-29 - CVE-2026-66730
facil.io 0.6.0 - 0.7.6 Infinite Loop DoS via Multipart MIME Body Parser
High · CVSS 8.7 · EPSS 46th2026-07-27 - CVE-2026-43871
Apache Thrift, Apache Thrift, Apache Thrift, Apache Thrift: TCompactProtocol varint byte-count limit
High · CVSS 8.7 · EPSS 47th2026-07-27
Showing 12 of 361 recorded CWE-835 CVEs. Track new ones as they are published and get AI-written analysis and fixes.
Monitor CWE-835 vulnerabilitiesCommon consequences
What can happen when CWE-835 is exploited.
DoS: Resource Consumption (CPU), DoS: Resource Consumption (Memory), DoS: Amplification
Affects: Availability
An infinite loop will cause unexpected consumption of resources, such as CPU cycles or memory. The software's operation may slow down, or cause a long time to respond.
How it happens
When it is introduced
Typically introduced during these phases of the software lifecycle.
How to detect it
Automated Static Analysis
Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect "sources" (origins of input) with "sinks" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)
Effectiveness: High
Code examples
Illustrative examples from MITRE showing how the weakness appears in code.
In the following code the method processMessagesFromServer attempts to establish a connection to a server and read and process messages from the server. The method uses a do/while loop to continue trying to establish the connection to the server when an attempt fails.
Vulnerable example
int processMessagesFromServer(char *hostaddr, int port) {Safe example
int processMessagesFromServer(char *hostaddr, int port) {However, this will create an infinite loop if the server does not respond. This infinite loop will consume system resources and can be used to create a denial of service attack. To resolve this a counter should be used to limit the number of attempts to establish a connection to the server, as in the following code.
For this example, the method isReorderNeeded is part of a bookstore application that determines if a particular book needs to be reordered based on the current inventory count and the rate at which the book is being sold.
Vulnerable example
public boolean isReorderNeeded(String bookISBN, int rateSold) {Safe example
public boolean isReorderNeeded(String bookISBN, int rateSold) {However, the while loop will become an infinite loop if the rateSold input parameter has a value of zero since the inventoryCount will never fall below the minimumCount. In this case the input parameter should be validated to ensure that a value of zero does not cause an infinite loop, as in the following code.
Illustrative examples
Real CVEs that MITRE cites as examples of this weakness.
- CVE-2025-32399 — Chain: library for implementing Profinet devices does not check an input for a loop condition (CWE-606), allowing an infinite loop (CWE-835) via a crafted RPC packet
- CVE-2022-22224 — Chain: an operating system does not properly process malformed Open Shortest Path First (OSPF) Type/Length/Value Identifiers (TLV) (CWE-703), which can cause the process to enter an infinite loop (CWE-835)
- CVE-2022-25304 — A Python machine communication platform did not account for receiving a malformed packet with a null size, causing the receiving function to never update the message buffer and be caught in an infinite loop.
- CVE-2011-1027 — Chain: off-by-one error (CWE-193) leads to infinite loop (CWE-835) using invalid hex-encoded characters.
- CVE-2011-1142 — Chain: self-referential values in recursive definitions lead to infinite loop.
- CVE-2011-1002 — NULL UDP packet is never cleared from a queue, leading to infinite loop.
- CVE-2006-6499 — Chain: web browser crashes due to infinite loop - "bad looping logic [that relies on] floating point math [CWE-1339] to exit the loop [CWE-835]"
- CVE-2010-4476 — Floating point conversion routine cycles back and forth between two different values.
- CVE-2010-4645 — Floating point conversion routine cycles back and forth between two different values.
- CVE-2010-2534 — Chain: improperly clearing a pointer in a linked list leads to infinite loop.
- CVE-2013-1591 — Chain: an integer overflow (CWE-190) in the image size calculation causes an infinite loop (CWE-835) which sequentially allocates buffers without limits (CWE-1325) until the stack is full.
- CVE-2008-3688 — Chain: A denial of service may be caused by an uninitialized variable (CWE-457) allowing an infinite loop (CWE-835) resulting from a connection to an unresponsive server.
Terminology & mappings
Mapped taxonomies
- OMG ASCSM (ASCSM-CWE-835)
Frequently asked questions
Common questions about CWE-835.
- What is CWE-835?
- The product contains an iteration or loop with an exit condition that cannot be reached, i.e., an infinite loop.
- What CVEs are caused by CWE-835?
- 361 recorded CVEs are attributed to CWE-835, including CVE-2024-20353, CVE-2026-24816, CVE-2025-21850. 1 are listed in CISA's Known Exploited Vulnerabilities (KEV) catalog.
- How is CWE-835 detected?
- Automated Static Analysis: Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect "sources" (origins of input) with "sinks" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)
- What are the consequences of CWE-835?
- Exploiting CWE-835 can lead to: DoS: Resource Consumption (CPU), DoS: Resource Consumption (Memory), DoS: Amplification.
- Is CWE-835 actively exploited?
- Yes. 1 CWE-835 vulnerabilities are in CISA's KEV catalog of actively exploited flaws, out of 361 recorded CVEs.
References
- MITRE CWE definition (CWE-835) (opens in a new tab)
- CWE-835 vulnerabilities on NVD (opens in a new tab)
- Learn: What is a CWE?
Weakness data is sourced from the MITRE CWE catalog (v4.20). CVE associations are aggregated and kept current by RadicalNotion.AI.
Stay ahead of CWE-835
Get alerted the moment a new CWE-835 vulnerability affects your stack, with AI-written analysis, severity context, and remediation guidance.