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

535 results · Feed

  • Medium 6.5

    The incorrect object was checked for NULL in the built-in profiler, potentially leading to invalid memory access and un…

  • Medium 5.5

    create_empty_lvol in drivers/mtd/ubi/vtbl.c in the Linux kernel through 6.7.4 can attempt to allocate zero bytes, and c…

  • Medium 5.3

    BuildKit possible panic when incorrect parameters sent from frontend

    BuildKit is a toolkit for converting source code to build artifacts in an efficient, expressive and repeatable manner. A malicious BuildKit client or frontend could craft a request that could lead to BuildKit daemon crashing with a panic. The issue has been f…

  • Medium 4.8

    raw_call `value=` kwargs not disabled for static and delegate calls

    Vyper is a pythonic Smart Contract Language for the ethereum virtual machine. Vyper compiler allows passing a value in builtin raw_call even if the call is a delegatecall or a staticcall. But in the context of delegatecall and staticcall the handling of value…

  • Medium 6.3

    Improper checking for unusual or exceptional conditions vulnerability in Lamassu Bitcoin ATM Douro machines

    Vulnerability of improper checking for unusual or exceptional conditions in Lamassu Bitcoin ATM Douro machines, in its 7.1 version, the exploitation of which could allow an attacker with physical access to the ATM to escape kiosk mode, access the underlying X…

  • High 7.5

    Unauthenticated Denial of Service (DOS) attack in AnythingLLM

    AnythingLLM is an application that turns any document, resource, or piece of content into context that any LLM can use as references during chatting. In versions prior to commit `08d33cfd8` an unauthenticated API route (file export) can allow attacker to cras…

  • High 7.5

    Improper Check or Handling of Exceptional Conditions in Aveva PI Server

    AVEVA PI Server versions 2023 and 2018 SP3 P05 and prior contain a vulnerability that could allow an unauthenticated user to remotely crash the PI Message Subsystem of a PI Server, resulting in a denial-of-service condition.

  • High 7.5

    Junos OS and Junos OS Evolved: A specific query via DREND causes rpd crash

    An Improper Check for Unusual or Exceptional Conditions vulnerability in Routing Protocol Daemon (RPD) of Juniper Networks Junos OS and Junos OS Evolved allows a network-based, unauthenticated attacker to cause rpd to crash, leading to Denial of Service (DoS)…

  • Medium 6.5

    Junos OS: MX Series: Gathering statistics in a scaled SCU/DCU configuration will lead to a device crash

    An Improper Check for Unusual or Exceptional Conditions vulnerability in the kernel of Juniper Network Junos OS on MX Series allows a network based attacker with low privileges to cause a denial of service. If a scaled configuration for Source class usage (SC…

  • Medium 6.8

    Conversion of property names to strings can trigger infinite recursion

    msgpackr is a fast MessagePack NodeJS/JavaScript implementation. Prior to 1.10.1, when decoding user supplied MessagePack messages, users can trigger stuck threads by crafting messages that keep the decoder stuck in a loop. The fix is available in v1.10.1. Ex…

  • Low 3.9

    Possible buffer overread from reading DNS responses

    The vulnerability is caused by improper check for check if RDLENGTH does not overflow the buffer in response from DNS server.

  • Medium 6.8

    A vulnerability has been identified in SINEC INS (All versions < V1.0 SP2 Update 2). Affected software does not correct…

  • Medium 4.3

    Playbook plugin crash via missing interface type assertion

    Mattermost fails to validate the type of the "reminder" body request parameter allowing an attacker to crash the Playbook Plugin when updating the status dialog.

  • Unscored —

    Vulnerability of data verification errors in the kernel module. Successful exploitation of this vulnerability may cause…

  • Medium 6.8

    Azure RTOS USBX Remote Code Execution Vulnerability

    Azure RTOS USBX is a USB host, device, and on-the-go (OTG) embedded stack, that is fully integrated with Azure RTOS ThreadX. An attacker can cause remote code execution due to expired pointer dereference vulnerabilities in Azure RTOS USBX. The affected compon…

  • Medium 6.7

    Azure RTOS USBX Remote Code Execution Vulnerability

    Azure RTOS USBX is a USB host, device, and on-the-go (OTG) embedded stack, that is fully integrated with Azure RTOS ThreadX. An attacker can cause remote code execution due to expired pointer dereference vulnerabilities in Azure RTOS USBX. The affected compon…

  • Medium 4.3

    Improper conditions check in Zoom Team Chat for Zoom clients may allow an authenticated user to conduct a denial of ser…

  • High 7.5

    Vulnerability of uncaught exceptions in the NFC module. Successful exploitation of this vulnerability can affect NFC av…

  • Medium 4.3

    Denial of Service via crashing the Calls Plugin

    Mattermost fails to properly validate requests to the Calls plugin, allowing an attacker sending a request without a User Agent header to cause a panic and crash the Calls plugin

  • High 7.5

    Improper Check or Handling of Exceptional Conditions in apollo-router

    The Apollo Router is a configurable, high-performance graph router written in Rust to run a federated supergraph that uses Apollo Federation. Affected versions are subject to a Denial-of-Service (DoS) type vulnerability which causes the Router to panic and te…

  • High 7.5

    Junos OS: MX Series: In a PTP scenario a prolonged routing protocol churn can trigger an FPC reboot

    An Improper Check for Unusual or Exceptional Conditions vulnerability in the Packet Forwarding Engine (PFE) of Juniper Networks Junos OS on MX Series allows a network-based, unauthenticated attacker to cause a Denial of Service (DoS). On Junos MX Series platf…

  • Medium 5.8

    Junos OS: SRX Series and MX Series: SIP ALG doesn't drop specifically malformed retransmitted SIP packets

    An Improper Check for Unusual or Exceptional Conditions vulnerability in the SIP ALG of Juniper Networks Junos OS on SRX Series and MX Series allows an unauthenticated network-based attacker to cause an integrity impact in connected networks. If the SIP ALG i…

  • Medium 6.5

    Junos OS Evolved: PTX10003 Series: Packets which are not destined to the router can reach the RE

    An Improper Check for Unusual or Exceptional Conditions in the Packet Forwarding Engine (pfe) of Juniper Networks Junos OS Evolved on PTX10003 Series allows an unauthenticated adjacent attacker to cause an impact to the integrity of the system. When specific …

  • Unscored —

    Parameter verification vulnerability in the window module.Successful exploitation of this vulnerability may cause the s…

  • High 8.8
    CVE-2023-41993 Exploited Public exploit EPSS 24%

    The issue was addressed with improved checks. This issue is fixed in macOS Sonoma 14. Processing web content may lead t…

    KEV Sep 25, 2023
  • High 7.8
    CVE-2023-41992 Exploited Public exploit EPSS 12%

    The issue was addressed with improved checks. This issue is fixed in macOS Monterey 12.7, iOS 16.7 and iPadOS 16.7, mac…

    KEV Sep 25, 2023
  • Medium 6.4

    ITM Server Communications Hijack

    An improper check for an exceptional condition in the Insider Threat Management (ITM) Server could be used by an attacker to change the server's configuration of any already-registered agent so that the agent sends all future communications to an attacker-cho…

  • High 7.5

    Browsing Context potentially not cleared when closing Private Window

    When checking if the Browsing Context had been discarded in `HttpBaseChannel`, if the load group was not available then it was assumed to have already been discarded which was not always the case for private channels after the private session had ended. This …

  • Medium 6.0

    Context isolation bypass via nested unserializable return value in Electron

    Electron is a framework which lets you write cross-platform desktop applications using JavaScript, HTML and CSS. Electron apps using `contextIsolation` and `contextBridge` are affected. This is a context isolation bypass, meaning that code running in the main…

  • High 7.5

    json2xml Uncaught Exception vulnerability

    The json2xml package through 3.12.0 for Python allows an error in typecode decoding enabling a remote attack that can lead to an exception, causing a denial of service.

  • Medium 6.5

    Denial-of-Service vulnerability in Axis Network Door Controller's and Axis Network Intercom's OSDP communication

    Knud from Fraktal.fi has found a flaw in some Axis Network Door Controllers and Axis Network Intercoms when communicating over OSDP, highlighting that the OSDP message parser crashes the pacsiod process, causing a temporary unavailability of the door-controll…

  • High 7.5

    feathersjs socket handler allows abusing implicit toString

    Feathersjs is a framework for creating web APIs and real-time applications with TypeScript or JavaScript. Feathers socket handler did not catch invalid string conversion errors like `const message = ${{ toString: '' }}` which would cause the NodeJS process to…

  • High 7.5

    Junos OS: QFX10000 Series: All traffic will be dropped after a specific valid IP packet has been received which needs to be routed over a VXLAN tunnel

    An Improper Check for Unusual or Exceptional Conditions vulnerability in the Packet Forwarding Engine (PFE) of Juniper Networks Junos OS on QFX10000 Series allows a network based attacker to cause a Denial of Service (DoS). If a specific valid IP packet is re…

  • Low 3.3

    In JetBrains IntelliJ IDEA before 2023.1.4 license dialog could be suppressed in certain cases

  • Unscored —

    An issue was discovered in the CheckUser extension for MediaWiki through 1.39.3. In certain situations, an attempt to b…

  • Medium 5.3

    Improper mail validation in Shopware

    Shopware is an open source e-commerce software. The mail validation in the registration process had some flaws, so it was possible to construct different mail addresses, that in the end result in the same address, which is shared by multiple accounts. This is…

  • Medium 5.3

    ink! vulnerable to incorrect decoding of storage value when using `DelegateCall`

    ink! is an embedded domain specific language to write smart contracts in Rust for blockchains built on the Substrate framework. Starting in version 4.0.0 and prior to version 4.2.1, the return value when using delegate call mechanics, either through `CallBuil…

  • Medium 6.5

    Content Security Policy wasn't being correctly applied to WebSockets in WebWorkers

    A mishandled security check when creating a WebSocket in a WebWorker caused the Content Security Policy connect-src header to be ignored. This could lead to connections to restricted origins from inside WebWorkers. This vulnerability affects Firefox < 109, Fi…

  • Medium 6.5

    Denial of Service via the 'dump' SPL command

    In Splunk Enterprise versions below 9.0.5, 8.2.11, and 8.1.14, and Splunk Cloud Platform versions below 9.0.2303.100, an attacker can exploit a vulnerability in the {{dump}} SPL command to cause a denial of service by crashing the Splunk daemon.

  • High 7.3

    Insufficient validation when decoding a Socket.IO packet

    socket.io parser is a socket.io encoder and decoder written in JavaScript complying with version 5 of socket.io-protocol. A specially crafted Socket.IO packet can trigger an uncaught exception on the Socket.IO server, thus killing the Node.js process. A patch…