CWE-835: Loop with Unreachable Exit Condition ('Infinite Loop') (Base)

Description: The product contains an iteration or loop with an exit condition that cannot be reached, i.e., an infinite loop.

Extended Description: If the loop can be influenced by an attacker, this weakness could allow attackers to consume excessive resources such as CPU or memory.



Applicable Platforms: ::LANGUAGE CLASS:Not Language-Specific:LANGUAGE PREVALENCE:Undetermined::




Common Consequences: ::SCOPE:Availability:IMPACT:DoS: Resource Consumption (CPU):IMPACT:DoS: Resource Consumption (Memory):IMPACT:DoS: Amplification:NOTE: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.::



Observed Examples: ::REFERENCE:CVE-2022-22224:DESCRIPTION: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):LINK:https://www.cve.org/CVERecord?id=CVE-2022-22224::REFERENCE:CVE-2022-25304:DESCRIPTION: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.:LINK:https://www.cve.org/CVERecord?id=CVE-2022-25304::REFERENCE:CVE-2011-1027:DESCRIPTION:Chain: off-by-one error (CWE-193) leads to infinite loop (CWE-835) using invalid hex-encoded characters.:LINK:https://www.cve.org/CVERecord?id=CVE-2011-1027::REFERENCE:CVE-2011-1142:DESCRIPTION:Chain: self-referential values in recursive definitions lead to infinite loop.:LINK:https://www.cve.org/CVERecord?id=CVE-2011-1142::REFERENCE:CVE-2011-1002:DESCRIPTION:NULL UDP packet is never cleared from a queue, leading to infinite loop.:LINK:https://www.cve.org/CVERecord?id=CVE-2011-1002::REFERENCE:CVE-2006-6499:DESCRIPTION: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]:LINK:https://www.cve.org/CVERecord?id=CVE-2006-6499::REFERENCE:CVE-2010-4476:DESCRIPTION:Floating point conversion routine cycles back and forth between two different values.:LINK:https://www.cve.org/CVERecord?id=CVE-2010-4476::REFERENCE:CVE-2010-4645:DESCRIPTION:Floating point conversion routine cycles back and forth between two different values.:LINK:https://www.cve.org/CVERecord?id=CVE-2010-4645::REFERENCE:CVE-2010-2534:DESCRIPTION:Chain: improperly clearing a pointer in a linked list leads to infinite loop.:LINK:https://www.cve.org/CVERecord?id=CVE-2010-2534::REFERENCE:CVE-2013-1591:DESCRIPTION: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.:LINK:https://www.cve.org/CVERecord?id=CVE-2013-1591::REFERENCE:CVE-2008-3688:DESCRIPTION: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.:LINK:https://www.cve.org/CVERecord?id=CVE-2008-3688::