Skip to content
OpenAdvisories

Weakness (CWE)

CWE-20: Improper Input Validation

Class Mapping discouraged

The product receives input or data, but it does
not validate or incorrectly validates that the input has the
properties that are required to process the data safely and
correctly.

How to prevent it (8 mitigations)
  1. Architecture and Design

    Consider using language-theoretic security (LangSec) techniques that characterize inputs using a formal language and build "recognizers" for that language. This effectively requires parsing to be a distinct layer that effectively enforces a boundary between raw input and internal data representations, instead of allowing parser code to be scattered throughout the program, where it could be subject to errors or inconsistencies that create weaknesses. [REF-1109] [REF-1110] [REF-1111]

  2. Architecture and Design

    Use an input validation framework such as Struts or the OWASP ESAPI Validation API. Note that using a framework does not automatically address all input validation problems; be mindful of weaknesses that could arise from misusing the framework itself (CWE-1173).

  3. Architecture and Design, Implementation

    Understand all the potential areas where untrusted inputs can enter the product, including but not limited to: parameters or arguments, cookies, anything read from the network, environment variables, reverse DNS lookups, query results, request headers, URL components, e-mail, files, filenames, databases, and any external systems that provide data to the application. Remember that such inputs may be obtained indirectly through API calls.

  4. 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.

  5. Architecture and Design

    For any security checks that are performed on the client side, ensure that these checks are duplicated on the server side, in order to avoid CWE-602. Attackers can bypass the client-side checks by modifying values after the checks have been performed, or by changing the client to remove the client-side checks entirely. Then, these modified values would be submitted to the server.

    Even though client-side checks provide minimal benefits with respect to server-side security, they are still useful. First, they can support intrusion detection. If the server receives input that should have been rejected by the client, then it may be an indication of an attack. Second, client-side error-checking can provide helpful feedback to the user about the expectations for valid input. Third, there may be a reduction in server-side processing time for accidental input errors, although this is typically a small savings.

  6. Implementation

    When your application combines data from multiple sources, perform the validation after the sources have been combined. The individual data elements may pass the validation step but violate the intended restrictions after they have been combined.

  7. Implementation

    Be especially careful to validate all input when invoking code that crosses language boundaries, such as from an interpreted language to native code. This could create an unexpected interaction between the language boundaries. Ensure that you are not violating any of the expectations of the language with which you are interfacing. For example, even though Java may not be susceptible to buffer overflows, providing a large argument in a call to native code might trigger an overflow.

  8. Implementation

    Directly convert your input type into the expected data type, such as using a conversion function that translates a string into a number. After converting to the expected data type, ensure that the input's values fall within the expected range of allowable values and that multi-field consistencies are maintained.

Source: MITRE CWE-20

702 results · Clear filters · Feed

  • Critical —

    Drupal Core Insufficient Contextual Links validation leads to Remote Code Execution

    The Contextual Links module doesn't sufficiently validate the requested contextual links. This vulnerability is mitigated by the fact that an attacker must have a role with the permission "access contextual links".

  • Critical 9.1
    CVE-2024-25641 Public exploit EPSS 86%

    Cacti RCE vulnerability when importing packages

    Cacti provides an operational monitoring and fault management framework. Prior to version 1.2.27, an arbitrary file write vulnerability, exploitable through the "Package Import" feature, allows authenticated users having the "Import Templates" permission to e…

  • Critical 9.1
    CVE-2024-2257 Public exploit

    Password Policy Bypass Vulnerability in Digisol Router

    This vulnerability exists in Digisol Router (DG-GR1321: Hardware version 3.7L; Firmware version : v3.2.02) due to improper implementation of password policies. An attacker with physical access could exploit this by creating password that do not adhere to the …

  • Critical 9.1

    Apache Karaf Cave: Cave SSRF and arbitrary file access

    ** UNSUPPORTED WHEN ASSIGNED ** Improper Input Validation vulnerability in Apache Karaf Cave.This issue affects all versions of Apache Karaf Cave. As this project is retired, we do not plan to release a version that fixes this issue. Users are recommended to …

  • Critical 9.8

    In multiple locations, there is a possible failure to persist or enforce user restrictions due to improper input valida…

  • Critical 9.8
    CVE-2024-4548 Public exploit EPSS 29%

    Delta Electronics DIAEnergie SQL Injection

    An SQLi vulnerability exists in Delta Electronics DIAEnergie v1.10.1.8610 and prior when CEBC.exe processes a 'RecalculateHDMWYC' message, which is split into 4 fields using the '~' character as the separator. An unauthenticated remote attacker can perform SQ…

  • Critical 9.8

    Delta Electronics DIAEnergie Unauthenticated SQL Injection

    A SQLi vulnerability exists in Delta Electronics DIAEnergie v1.10.1.8610 and prior when CEBC.exe processes a 'RecalculateScript' message, which is splitted into 4 fields using the '~' character as the separator. An unauthenticated remote attacker can perform …

  • Critical 9.8

    netis-systems MEX605 v2.00.06 allows attackers to execute arbitrary OS commands via a crafted payload to the tracert pa…

  • Critical 9.0

    JFrog Artifactory Improper input validation within token creation flow

    An Improper input validation vulnerability that could potentially lead to privilege escalation was discovered in JFrog Artifactory. Due to this vulnerability, users with low privileges may gain administrative access to the system. This issue can also be explo…

  • Critical 9.0

    Improper Input Validation in mintplex-labs/anything-llm

    In mintplex-labs/anything-llm, an attacker can exploit improper input validation by sending a malformed JSON payload to the '/system/enable-multi-user' endpoint. This triggers an error that is caught by a catch block, which in turn deletes all users and disab…

  • Critical 10.0
    CVE-2024-3400 Exploited · Ransomware Public exploit Scanner template EPSS 100%

    PAN-OS: Arbitrary File Creation Leads to OS Command Injection Vulnerability in GlobalProtect

    A command injection as a result of arbitrary file creation vulnerability in the GlobalProtect feature of Palo Alto Networks PAN-OS software for specific PAN-OS versions and distinct feature configurations may enable an unauthenticated attacker to execute arbi…

    KEV Apr 12, 2024
  • Critical 9.0

    Adobe Commerce | Improper Input Validation (CWE-20)

    Adobe Commerce versions 2.4.6-p4, 2.4.5-p6, 2.4.4-p7, 2.4.7-beta3 and earlier are affected by an Improper Input Validation vulnerability that could result in arbitrary code execution on the underlying filesystem. Exploitation of this issue does not require us…

  • Critical 9.8

    Improper Input Validation in WIN SON

    Memory corruption while redirecting log file to any file location with any file name.

  • Critical 9.1

    Improper input validation vulnerability was identified in GitHub Enterprise Server that allowed privilege escalation in the Management Console

    A command injection vulnerability was identified in GitHub Enterprise Server that allowed an attacker with an editor role in the Management Console to gain admin SSH access to the appliance when configuring GeoJSON settings. Exploitation of this vulnerability…

  • Critical 9.1

    Parse Server crash and RCE via invalid Cloud Function or Cloud Job name

    Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. Prior to versions 6.5.5 and 7.0.0-alpha.29, calling an invalid Parse Server Cloud Function name or Cloud Job name crashes the server and may allow for code…

  • Critical 9.8

    PHOENIX CONTACT: Remote code execution in CHARX Series

    An unauthenticated remote attacker can modify configurations to perform a remote code execution, gain root rights or perform an DoS due to improper input validation.

  • Critical 9.1

    In access_secure_service_from_temp_bond of btm_sec.cc, there is a possible way to achieve keystroke injection due to im…

  • Critical 9.3

    Improper Input Validation in Services

    Memory corruption in Core Services while executing the command for removing a single event listener.

  • Critical 9.8
    CVE-2024-20017 Public exploit EPSS 47%

    In wlan service, there is a possible out of bounds write due to improper input validation. This could lead to remote co…

  • Critical 9.1

    An input validation vulnerability in the SE Menu allows an attacker to execute arbitrary code.

    The SE menu contains information used by Lexmark to diagnose device errors. A vulnerability in one of the SE menu routines can be leveraged by an attacker to execute arbitrary code.

  • Critical 9.8

    pretix mishandles file validation

    pretix before 2024.1.1 mishandles file validation.

  • Critical 9.8

    In attp_build_read_by_type_value_cmd of att_protocol.cc , there is a possible out of bounds write due to improper input…

  • Critical 9.8

    Dell Networking Switches running Enterprise SONiC versions 4.1.0, 4.0.5, 3.5.4 and below contains an improper input val…

  • Critical 9.8

    Dell OS10 Networking Switches running 10.5.2.x and above contain an OS command injection vulnerability when using remot…

  • Critical 9.1

    Command injection vulnerability was identified in GitHub Enterprise Server that allowed privilege escalation in the Mangement Console

    A command injection vulnerability was identified in GitHub Enterprise Server that allowed an attacker with an editor role in the Management Console to gain admin SSH access to the appliance via nomad templates when configuring SMTP options. Exploitation of th…

  • Critical 9.1

    Command injection vulnerability was identified in GitHub Enterprise Server that allowed privilege escalation in the Mangement Console

    A command injection vulnerability was identified in GitHub Enterprise Server that allowed an attacker with an editor role in the Management Console to gain admin SSH access to the appliance via nomad templates when configuring audit log forwarding. Exploitati…

  • Critical 9.1

    Command injection vulnerability was identified in GitHub Enterprise Server that allowed privilege escalation in the Mangement Console

    A command injection vulnerability was identified in GitHub Enterprise Server that allowed an attacker with an editor role in the Management Console to gain admin SSH access to the appliance when configuring SAML settings. Exploitation of this vulnerability re…

  • Critical 9.1

    Command injection vulnerability was identified in GitHub Enterprise Server that allowed privilege escalation in the Mangement Console

    A command injection vulnerability was identified in GitHub Enterprise Server that allowed an attacker with an editor role in the Management Console to gain admin SSH access to the appliance when setting the username and password for collectd configurations. E…

  • Critical 9.1

    Command injection vulnerability was identified in GitHub Enterprise Server that allowed privilege escalation in the Mangement Console

    A command injection vulnerability was identified in GitHub Enterprise Server that allowed an attacker with an editor role in the Management Console to gain admin SSH access to the appliance when setting up an HTTP proxy. Exploitation of this vulnerability req…

  • Critical 9.1

    Command injection vulnerability was identified in GitHub Enterprise Server that allowed privilege escalation in the Mangement Console

    A command injection vulnerability was identified in GitHub Enterprise Server that allowed an attacker with an editor role in the Management Console to gain admin SSH access to the appliance via the actions-console docker container while setting a service URL.…

  • Critical 9.8
    CVE-2024-21413 Exploited Public exploit EPSS 95%

    Microsoft Outlook Remote Code Execution Vulnerability

    Microsoft Outlook Remote Code Execution Vulnerability

    KEV Feb 6, 2025
  • Critical 9.8

    An issue in dom96 HTTPbeast v.0.4.1 and before allows a remote attacker to send a malicious crafted request due to insu…

  • Critical 9.3

    Django Template Engine Vulnerable to XSS

    This package provides universal methods to use multiple template engines with the Fiber web framework using the Views interface. This vulnerability specifically impacts web applications that render user-supplied data through this template engine, potentially …

  • Critical 9.1

    NET, .NET Framework, and Visual Studio Security Feature Bypass Vulnerability

    NET, .NET Framework, and Visual Studio Security Feature Bypass Vulnerability

  • Critical 10.0

    A vulnerability has been identified in SIMATIC IPC1047E (All versions with maxView Storage Manager < V4.14.00.26068 on …

  • Critical 10.0

    Remote code execution on ReconServer due to improper input sanitization on the prips command

    Discord-Recon is a Discord bot created to automate bug bounty recon, automated scans and information gathering via a discord server. Discord-Recon is vulnerable to remote code execution. An attacker is able to execute shell commands in the server without havi…

  • Critical 10.0

    D-Link D-View 8 Unauthenticated Probe-Core Server Communication

    A security issue exists in D-Link D-View 8 v2.0.2.89 and prior that could allow an attacker to manipulate the probe inventory of the D-View service. This could result in the disclosure of information from other probes, denial of service conditions due to the …

  • Critical 9.0

    heap buffer overflow in libaom

    Increasing the resolution of video frames, while performing a multi-threaded encode, can result in a heap overflow in av1_loop_restoration_dealloc().

  • Critical 9.3

    Remote Code Execution via insufficiently sanitized call to shell.openExternal

    Tutanota (Tuta Mail) is an encrypted email provider. Tutanota allows users to open links in emails in external applications. Prior to version 3.118.12, it correctly blocks the `file:` URL scheme, which can be used by malicious actors to gain code execution on…

  • Critical 9.8

    U-Boot vulnerability resulting in persistent Code Execution