Skip to content
OpenAdvisories

Weakness (CWE)

CWE-754: Improper Check for Unusual or Exceptional Conditions

Class Incomplete

The product does not check or incorrectly checks for unusual or exceptional conditions that are not expected to occur frequently during day to day operation of the product.

How to prevent it (7 mitigations)
  1. Requirements

    Use a language that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid.

    Choose languages with features such as exception handling that force the programmer to anticipate unusual conditions that may generate exceptions. Custom exceptions may need to be developed to handle unusual business-logic conditions. Be careful not to pass sensitive exceptions back to the user (CWE-209, CWE-248).

  2. Implementation

    Check the results of all functions that return a value and verify that the value is expected.

  3. Implementation

    If using exception handling, catch and throw specific exceptions instead of overly-general exceptions (CWE-396, CWE-397). Catch and handle exceptions as locally as possible so that exceptions do not propagate too far up the call stack (CWE-705). Avoid unchecked or uncaught exceptions where feasible (CWE-248).

  4. Implementation

    Ensure that error messages only contain minimal details that are useful to the intended audience and no one else. The messages need to strike the balance between being too cryptic (which can confuse users) or being too detailed (which may reveal more than intended). The messages should not reveal the methods that were used to determine the error. Attackers can use detailed information to refine or optimize their original attack, thereby increasing their chances of success.

    If errors must be captured in some detail, record them in log messages, but consider what could occur if the log messages can be viewed by attackers. Highly sensitive information such as passwords should never be saved to log files.

    Avoid inconsistent messaging that might accidentally tip off an attacker about internal state, such as whether a user account exists or not.

    Exposing additional information to a potential attacker in the context of an exceptional condition can help the attacker determine what attack vectors are most likely to succeed beyond DoS.

  5. Implementation

    Assume all input is malicious. Use an "accept known good" input validation strategy, i.e., use a list of acceptable inputs that strictly conform to specifications. Reject any input that does not strictly conform to specifications, or transform it into something that does.

    When performing input validation, consider all potentially relevant properties, including length, type of input, the full range of acceptable values, missing or extra inputs, syntax, consistency across related fields, and conformance to business rules. As an example of business rule logic, "boat" may be syntactically valid because it only contains alphanumeric characters, but it is not valid if the input is only expected to contain colors such as "red" or "blue."

    Do not rely exclusively on looking for malicious or malformed inputs. This is likely to miss at least one undesirable input, especially if the code's environment changes. This can give attackers enough room to bypass the intended validation. However, denylists can be useful for detecting potential attacks or determining which inputs are so malformed that they should be rejected outright.

  6. Architecture and Design, Implementation

    If the program must fail, ensure that it fails gracefully (fails closed). There may be a temptation to simply let the program fail poorly in cases such as low memory conditions, but an attacker may be able to assert control before the software has fully exited. Alternately, an uncontrolled failure could cause cascading problems with other downstream components; for example, the program could send a signal to a downstream process so the process immediately knows that a problem has occurred and has a better chance of recovery.

  7. Architecture and Design

    Use system limits, which should help to prevent resource exhaustion. However, the product should still handle low resource conditions since they may still occur.

Source: MITRE CWE-754

267 results · Clear filters · Feed

  • Medium 6.8

    Denial-of-Service (DoS) after Unusual or Exceptional Conditions vulnerability

    An Improper Check for Unusual or Exceptional Conditions vulnerability in Brocade Fabric OS before 9.2.2.a could allow an authenticated, network-based attacker to cause a Denial-of-Service (DoS). The vulnerability is encountered when supportsave is invoked rem…

  • Medium 6.9

    ethereum does not check transaction malleability for EIP-2930, EIP-1559 and EIP-7702 transactions

    ethereum is a common ethereum structs for Rust. Prior to ethereum crate v0.18.0, signature malleability (according to EIP-2) was only checked for "legacy" transactions, but not for EIP-2930, EIP-1559 and EIP-7702 transactions. This is a specification deviatio…

  • Medium 6.5

    An authenticated user with file access privilege via FTP access can cause the Relion 670/650 and SAM600-IO series devic…

  • Medium 5.6

    Improper conditions check for some Intel(R) Arc™ GPU may allow an authenticated user to potentially enable denial of se…

  • Medium 6.7

    A vulnerability in the CLI of Cisco IOS XE Software could allow an authenticated, local attacker with privilege level 1…

  • Medium 6.7

    A vulnerability in the CLI of Cisco IOS XE Software could allow an authenticated, local attacker with privilege level 1…

  • Medium 4.6

    A vulnerability in the CLI of Cisco IOS XE Software could allow an authenticated, local attacker with privilege level 1…

  • Medium 6.1

    Enterprise Protection S/MIME Opaque Signature Attachment Scanning Bypass

    Enterprise Protection contains an improper input validation vulnerability in attachment defense that allows an unauthenticated remote attacker to bypass attachment scanning security policy by sending a malicious S/MIME attachment with an opaque signature. Whe…

  • Medium 4.0

    http-proxy-middleware allows fixRequestBody to proceed even if bodyParser has failed

    In http-proxy-middleware before 2.0.9 and 3.x before 3.0.5, fixRequestBody proceeds even if bodyParser has failed.

  • Medium 5.3

    PAN-OS: Firewall Denial of Service (DoS) Using a Specially Crafted Packet

    A denial-of-service (DoS) vulnerability in the Simple Certificate Enrollment Protocol (SCEP) authentication feature of Palo Alto Networks PAN-OS® software enables an unauthenticated attacker to initiate system reboots using a maliciously crafted packet. Repea…

  • Medium 5.5

    Junos OS and Junos OS Evolved: A specific CLI command will cause an RPD crash when rib-sharding and update-threading is enabled

    An Improper Check for Unusual or Exceptional Conditions vulnerability in the Routing Protocol Daemon (rpd) of Juniper Networks Junos OS and Junos OS Evolved allows a local, low-privileged attacker to cause a Denial-of-Service (DoS). When a specific "show bgp …

  • Medium 5.3

    Junos OS and Junos OS Evolved: When BGP rib-sharding and update-threading are configured and a peer flaps, an rpd core is observed

    An Improper Check for Unusual or Exceptional Conditions vulnerability in routing protocol daemon (rpd) of Juniper Networks Junos OS and Junos OS Evolved allows an unauthenticated, logically adjacent BGP peer to cause Denial of Service (DoS). On all Junos OS a…

  • Medium 6.2

    Gnuplot: segmentation fault via io_str_init_static_internal function

    A flaw was found in GNUPlot. A segmentation fault via IO_str_init_static_internal may jeopardize the environment.

  • Medium 5.9

    Libsoup: segmentation fault when parsing malformed data uri

    A flaw was found in libsoup. The libsoup soup_uri_decode_data_uri() function may crash when processing malformed data URI. This flaw allows an attacker to cause a denial of service (DoS).

  • Medium 6.8

    PAN-OS: Firewall Denial of Service (DoS) Using a Specially Crafted LLDP Frame

    A Denial of Service (DoS) vulnerability in Palo Alto Networks PAN-OS software causes the firewall to unexpectedly reboot when processing a specially crafted LLDP frame sent by an unauthenticated adjacent attacker. Repeated attempts to initiate this condition …

  • Medium 5.5

    IBM MQ denial of service

    IBM MQ 9.3 LTS, 9.3 CD, 9.4 LTS, and 9.4 CD could allow a local user to cause a denial of service due to an improper check for unusual or exceptional conditions.

  • Medium 6.8

    Cortex XDR Agent: Local Windows User Can Disable the Agent

    A problem with a detection mechanism in the Palo Alto Networks Cortex XDR agent on Windows devices enables a user with Windows non-administrative privileges to disable the agent. This vulnerability can also be leveraged by malware to disable the Cortex XDR ag…

  • Medium 6.5

    IBM i denial of service

    IBM i 7.4 and 7.5 is vulnerable to a database access denial of service caused by a bypass of a database capabilities restriction check. A privileged bad actor can remove or otherwise impact database infrastructure files resulting in incorrect behavior of soft…

    IBM i
  • Medium 5.5

    The issue was addressed with improved checks. This issue is fixed in iOS 18.3 and iPadOS 18.3, iPadOS 17.7.4, macOS Seq…

  • Medium 6.5

    matrix-hookshot has a Potential Denial of Service when Hookshot is configured with GitHub support

    matrix-hookshot is a Matrix bot for connecting to external services like GitHub, GitLab, JIRA, and more. When Hookshot 6 version 6.0.1 or below, or Hookshot 5 version 5.4.1 or below, is configured with GitHub support, it is vulnerable to a Denial of Service (…

  • Medium 5.5

    drm/sti: avoid potential dereference of error pointers in sti_hqvdp_atomic_check

    In the Linux kernel, the following vulnerability has been resolved: drm/sti: avoid potential dereference of error pointers in sti_hqvdp_atomic_check The return value of drm_atomic_get_crtc_state() needs to be checked. To avoid use of error pointer 'crtc_state…

  • Medium 5.5

    drm/sti: avoid potential dereference of error pointers in sti_gdp_atomic_check

    In the Linux kernel, the following vulnerability has been resolved: drm/sti: avoid potential dereference of error pointers in sti_gdp_atomic_check The return value of drm_atomic_get_crtc_state() needs to be checked. To avoid use of error pointer 'crtc_state' …

  • Medium 5.5

    drm/sti: avoid potential dereference of error pointers

    In the Linux kernel, the following vulnerability has been resolved: drm/sti: avoid potential dereference of error pointers The return value of drm_atomic_get_crtc_state() needs to be checked. To avoid use of error pointer 'crtc_state' in case of the failure.

  • Medium 5.5

    octeontx2-pf: handle otx2_mbox_get_rsp errors in otx2_ethtool.c

    In the Linux kernel, the following vulnerability has been resolved: octeontx2-pf: handle otx2_mbox_get_rsp errors in otx2_ethtool.c Add error pointer check after calling otx2_mbox_get_rsp().

  • Medium 5.5

    octeontx2-pf: handle otx2_mbox_get_rsp errors in otx2_dcbnl.c

    In the Linux kernel, the following vulnerability has been resolved: octeontx2-pf: handle otx2_mbox_get_rsp errors in otx2_dcbnl.c Add error pointer check after calling otx2_mbox_get_rsp().

  • Medium 6.5

    IBM MQ denial of service

    IBM MQ 9.1 LTS, 9.2 LTS, 9.3 LTS, 9.3 CD, 9.4 LTS, 9.4 CD, IBM MQ Appliance 9.3 LTS, 9.3 CD, 9.4 LTS, and IBM MQ for HPE NonStop 8.1.0 through 8.1.0.25 could allow an authenticated user to cause a denial-of-service due to messages with improperly set values.

  • Medium 4.3

    Out-of-bounds read vulnerability in the M3U8 module Impact: Successful exploitation of this vulnerability may cause fea…

  • Medium 4.3

    Out-of-bounds read vulnerability in the DASH module Impact: Successful exploitation of this vulnerability will affect a…

  • Medium 4.4

    Out-of-bounds access vulnerability in playback in the DASH module Impact: Successful exploitation of this vulnerability…

  • Medium 5.3

    Moodle: can create global glossary without being admin

    A flaw was found in moodle. Insufficient capability checks make it possible for users with access to restore glossaries in courses to restore them into the global site glossary.

  • Medium 5.5

    pinctrl: ocelot: fix system hang on level based interrupts

    In the Linux kernel, the following vulnerability has been resolved: pinctrl: ocelot: fix system hang on level based interrupts The current implementation only calls chained_irq_enter() and chained_irq_exit() if it detects pending interrupts. ``` for (i = 0; i…

  • Medium 5.5

    virtio_pmem: Check device status before requesting flush

    In the Linux kernel, the following vulnerability has been resolved: virtio_pmem: Check device status before requesting flush If a pmem device is in a bad status, the driver side could wait for host ack forever in virtio_pmem_flush(), causing the system to han…

  • Medium 5.5

    vmir e8117 was discovered to contain a segmentation violation via the import_function function at /src/vmir_wasm_parser…

  • Medium 5.5

    vmir e8117 was discovered to contain a segmentation violation via the wasm_parse_block function at /src/vmir_wasm_parse…

  • Medium 5.5

    vmir e8117 was discovered to contain a segmentation violation via the export_function function at /src/vmir_wasm_parser…

  • Medium 5.1

    Panic Vulnerability in loona-hpack

    loona is an experimental, HTTP/1.1 and HTTP/2 implementation in Rust on top of io-uring. `loona-hpack` suffers from the same vulnerability as the original `hpack` as documented in issue #11. All users who try to decode untrusted input using the Decoder are vu…

  • Medium 4.6

    The issue was addressed with improved checks. This issue is fixed in iOS 18.1 and iPadOS 18.1. An attacker may be able …

  • Medium 5.9
    CVE-2024-50602 Public exploit

    An issue was discovered in libexpat before 2.6.4. There is a crash within the XML_ResumeParser function because XML_Sto…

  • Medium 5.9

    IBM WebSphere Application Server denial of service

    IBM WebSphere Application Server 8.5 is vulnerable to a denial of service, under certain configurations, caused by an unexpected specially crafted request. A remote attacker could exploit this vulnerability to cause an error resulting in a denial of service.

  • Medium 5.8

    Junos OS and Junos OS Evolved: BGP update message containing aggregator attribute with an ASN value of zero (0) is accepted

    An Improper Check for Unusual or Exceptional Conditions vulnerability in the routing protocol daemon (rpd) of Juniper Networks Junos OS and Junos OS Evolved allows an unauthenticated, network-based attacker to cause an integrity impact to the downstream devic…