CWEweakness
CWE-617 Reachable Assertion
- Alternate terms
- assertion failure
- Abstraction
- Base
- Structure
- Simple
- Status
- Draft
- Languages
- C, Java, Not Language-Specific, Python, Rust
- CWE version
- 5.0
Description
The product contains an assert() or similar statement that can be triggered by an attacker, which leads to an application exit or other behavior that is more severe than necessary.
Common consequences
• Availability: DoS: Crash, Exit, or Restart — While assertion is good for catching logic errors and reducing the chances of reaching more serious vulnerability conditions, an attacker can still cause a denial of service if they can trigger an assert statement, and if the scope of the assert() extends beyond the attacker's own session. For example, if a server handles multiple simultaneous connections, if an assert() occurs in one single connection that causes all other connections to be dropped, this could be a significant denial of service.
Potential mitigations
• [Implementation] If the assertion statement is required (e.g., for security or reliability), change the invoking code to avoid the conditions that trigger the assertion.
• [Implementation] Consider changing the assertion to some other less "fatal" error. This might not be easy to implement, since other code may be needed to handle the error.
• [Implementation] Make sensitive open/close operations non-reachable from directly user-controlled data (e.g. open/close resources)
• [Implementation] Perform input validation on user data.
Detection methods
• 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.)
Observed examples
• CVE-2024-8768: API server for LLM library can crash when provided an empty prompt, which triggers a reachable assertion
• CVE-2023-49286: Chain: function in web caching proxy does not correctly check a return value (CWE-253) leading to a reachable assertion (CWE-617)
• CVE-2006-6767: FTP server allows remote attackers to cause a denial of service (daemon abort) via crafted commands which trigger an assertion failure.
• CVE-2006-6811: Chat client allows remote attackers to cause a denial of service (crash) via a long message string when connecting to a server, which causes an assertion failure.
• CVE-2006-5779: Product allows remote attackers to cause a denial of service (daemon crash) via LDAP BIND requests with long authcid names, which triggers an assertion failure.
• CVE-2006-4095: Product allows remote attackers to cause a denial of service (crash) via certain queries, which cause an assertion failure.
• CVE-2006-4574: Chain: security monitoring product has an off-by-one error that leads to unexpected length values, triggering an assertion.
• CVE-2004-0270: Anti-virus product has an assertion error when the line length is non-numeric.
Related
Observed example · CVE (8)
- CVE-2024-8768 A flaw was found in the vLLM library. vulnerability
- CVE-2023-49286 Squid is a caching proxy for the Web supporting HTTP, HTTPS, FTP, and more. vulnerability
- CVE-2006-6767 oftpd before 0.3.7 allows remote attackers to cause a denial of service (daemon abort) via a (1) LPRT or (2) LPASV command with an… vulnerability
- CVE-2006-6811 KsIRC 1.3.12 allows remote attackers to cause a denial of service (crash) via a long PRIVMSG string when connecting to an Internet Relay… vulnerability
- CVE-2006-5779 OpenLDAP before 2.3.29 allows remote attackers to cause a denial of service (daemon crash) via LDAP BIND requests with long authcid names,… vulnerability
- CVE-2006-4574 Off-by-one error in the MIME Multipart dissector in Wireshark (formerly Ethereal) 0.10.1 through 0.99.3 allows remote attackers to cause a… vulnerability
- CVE-2006-4095 BIND before 9.2.6-P1 and 9.3.x before 9.3.2-P1 allows remote attackers to cause a denial of service (crash) via certain SIG queries, which… vulnerability
- CVE-2004-0270 libclamav in Clam AntiVirus 0.65 allows remote attackers to cause a denial of service (crash) via a uuencoded e-mail message with an… vulnerability
Child of · CWE (2)
Referenced by CVE · weakness (937)
- CVE-2026-119132 Wasmtime from 49.0.0 before 49.0.3 contains a denial-of-service vulnerability that allows a WebAssembly guest to trigger a host panic by… vulnerability
- CVE-2026-119135 Wasmtime 46.0.0 before 48.0.6 and 49.0.0 before 49.0.3 panics when the host reads a component model stream as a different Rust item type… vulnerability
- CVE-2026-119138 Wasmtime 46.0.0 before 48.0.6 and 49.0.0 before 49.0.3 contains a denial of service vulnerability that allows pending calls to trigger an… vulnerability
- CVE-2026-119139 Wasmtime 46.0.0 before 48.0.6 and 49.0.0 before 49.0.3 contains a leftover assertion in component::Func::call that rejects guest exports… vulnerability
- CVE-2026-119142 Wasmtime 46.0.0 before 48.0.6 and 49.0.0 before 49.0.3 contains a denial of service vulnerability where dropping the Future returned by… vulnerability
- CVE-2026-115914 vLLM is an inference and serving engine for large language models. vulnerability
- CVE-2026-116467 A security flaw has been discovered in ggml-org llama.cpp up to 0.7.0. vulnerability
- CVE-2026-81038 The Object Transfer Service server builds its Object Action Control Point (OACP) response indication in oacp_ind_send()… vulnerability
- CVE-2026-102483 Reachable exit in NTPsec ntpd 1.1.4 through 1.2.5 allows a remote attacker to terminate the daemon via an NTS request with excess NTS… vulnerability
- CVE-2026-56388 The Redis server command parser in Apache bRPC accepts an empty RESP array as a command header. vulnerability
- CVE-2026-76491 As part of Cisco's ongoing commitment to proactive security and product quality, the Cisco Expressway Series software engineering team has… vulnerability
- CVE-2026-78048 A reachable-assertion flaw in the HPACK header-compression decoder of the HTTP/2 (h2/gRPC) stack in Apache bRPC (version < 1.18.0) on all… vulnerability
- CVE-2026-82210 Enforceable assertion in the streaming feature of Apache bRPC (version < 1.18.0) on all platforms allows a remote attacker to crash the… vulnerability
- CVE-2026-82425 A reachable assertion in Apache bRPC (version < 1.18.0) on all platforms allows a malicious remote peer to crash the process, resulting in… vulnerability
- CVE-2026-96888 A BIND resolver that is configured with both a "redirect" zone and "qname-minimization strict" may abort with an assertion failure while… vulnerability
- CVE-2026-97313 A recursive BIND server that receives a query with recursion desired (RD=1) followed by a non-recursive query (RD=0) may exit with an… vulnerability
- CVE-2026-43853 A vulnerability could allow an attacker to send a crafted message to trigger an assertion fault, causing the service to crash. vulnerability
- CVE-2026-9825 IBM Cyber Fraud 1.0.0 through 1.0.2 has a missing secure attribute allowing sensitive cookies to be transmitted over unencrypted… vulnerability
- CVE-2026-89098 A flaw was found in nfs-utils. vulnerability
- CVE-2026-87018 undici is an HTTP client library for Node.js. vulnerability
- CVE-2026-101936 A Reachable Assertion vulnerability in the srxpfe process of Juniper Networks Junos OS on SRX Series allows an adjacent network attacker to… vulnerability
- CVE-2026-101964 A Reachable Assertion vulnerability in the routing protocol daemon (rpd) of Juniper Networks Junos OS and Junos OS Evolved allows an… vulnerability
- CVE-2026-101975 A Reachable Assertion vulnerability in the routing protocol daemon (rpd) of Juniper Networks Junos OS and Junos OS Evolved allows an… vulnerability
- CVE-2026-101984 A Reachable Assertion vulnerability in the routing protocol daemon (rpd) of Juniper Networks Junos OS and Junos OS Evolved allows a… vulnerability
- CVE-2026-101989 A Reachable Assertion vulnerability in the routing protocol daemon (rpd) of Juniper Networks Junos OS and Junos OS Evolved allows a… vulnerability
- CVE-2026-101993 A Reachable Assertion vulnerability in the routing protocol daemon (rpd) of Juniper Networks Junos OS and Junos OS Evolved allows an… vulnerability
- CVE-2026-101996 A Reachable Assertion vulnerability in the l2ald daemon of Juniper Networks Junos OS and Junos OS Evolved devices configured for… vulnerability
- CVE-2026-101999 A Reachable Assertion vulnerability in the rpd process of Juniper Networks Junos OS and Junos EVO allows an adjacent attacker to cause a… vulnerability
- CVE-2026-102000 A Reachable Assertion vulnerability in the rpd process of Juniper Networks Junos OS and Junos EVO allows an adjacent unauthenticated… vulnerability
- CVE-2026-102011 A Reachable Assertion vulnerability in the rpd process of Juniper Networks Junos OS and Junos EVO allows an adjacent attacker to cause a… vulnerability
Referenced by CWE · can precede (1)
- CWE-193 Off-by-one Error weakness
Referenced by CWE · has member (1)
- CWE-884 CWE Cross-section view