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

368 results · Clear filters · Feed

  • High 7.2
    CVE-2024-12912 Public exploit

    An improper input insertion vulnerability in AiCloud on certain router models may lead to arbitrary command execution. …

  • High 7.3
    CVE-2024-50340 Public exploit EPSS 62%

    Ability to change environment from query in symfony/runtime

    symfony/runtime is a module for the Symphony PHP framework which enables decoupling PHP applications from global state. When the `register_argv_argc` php directive is set to `on` , and users call any URL with a special crafted query string, they are able to c…

  • High 8.9
    CVE-2024-49368 Public exploit EPSS 28%

    Unchecked logrotate settings lead to arbitrary command execution

    Nginx UI is a web user interface for the Nginx web server. Prior to version 2.0.0-beta.36, when Nginx UI configures logrotate, it does not verify the input and directly passes it to exec.Command, causing arbitrary command execution. Version 2.0.0-beta.36 fixe…

  • Critical 9.1
    CVE-2024-48914 Public exploit EPSS 60%

    Vendure asset server plugin has local file read vulnerability with AssetServerPlugin & LocalAssetStorageStrategy

    Vendure is an open-source headless commerce platform. Prior to versions 3.0.5 and 2.3.3, a vulnerability in Vendure's asset server plugin allows an attacker to craft a request which is able to traverse the server file system and retrieve the contents of arbit…

  • High 7.7
    CVE-2024-47823 Public exploit

    Livewire Remote Code Execution (RCE) on File Uploads

    Livewire is a full-stack framework for Laravel that allows for dynamic UI components without leaving PHP. In livewire/livewire prior to `2.12.7` and `v3.5.2`, the file extension of an uploaded file is guessed based on the MIME type. As a result, the actual fi…

  • High 7.0
    CVE-2024-31449 Public exploit

    Lua library commands may lead to stack overflow and RCE in Redis

    Redis is an open source, in-memory database that persists on disk. An authenticated user may use a specially crafted Lua script to trigger a stack buffer overflow in the bit library, which may potentially lead to remote code execution. The problem exists in a…

  • High 8.6
    CVE-2024-47175 Public exploit EPSS 64%

    libppd's ppdCreatePPDFromIPP2 function does not sanitize IPP attributes when creating the PPD buffer

    CUPS is a standards-based, open-source printing system, and `libppd` can be used for legacy PPD file support. The `libppd` function `ppdCreatePPDFromIPP2` does not sanitize IPP attributes when creating the PPD buffer. When used in combination with other funct…

  • High 8.6
    CVE-2024-47076 Public exploit EPSS 80%

    libcupsfilters's cfGetPrinterAttributes5 does not validate IPP attributes returned from an IPP server

    CUPS is a standards-based, open-source printing system, and `libcupsfilters` contains the code of the filters of the former `cups-filters` package as library functions to be used for the data format conversion tasks needed in Printer Applications. The `cfGetP…

  • High 8.8
    CVE-2024-47179 Public exploit

    RSSHub's `docker-test-cont.yml` workflow is vulnerable to Artifact Poisoning which may lead to a full repository takeover.

    RSSHub is an RSS network. Prior to commit 64e00e7, RSSHub's `docker-test-cont.yml` workflow is vulnerable to Artifact Poisoning, which could have lead to a full repository takeover. Downstream users of RSSHub are not vulnerable to this issue, and commit 64e00…

  • Critical 10.0
    CVE-2024-45798 Public exploit

    Multiple Poisoned Pipeline Execution (PPE) vulnerabilities

    arduino-esp32 is an Arduino core for the ESP32, ESP32-S2, ESP32-S3, ESP32-C3, ESP32-C6 and ESP32-H2 microcontrollers. The `arduino-esp32` CI is vulnerable to multiple Poisoned Pipeline Execution (PPE) vulnerabilities. Code injection in `tests_results.yml` wor…

  • High 8.1
    CVE-2024-45058 Public exploit

    Privilege escalation in i-Educar

    i-Educar is free, fully online school management software that can be used by school secretaries, teachers, coordinators, and area managers. Prior to the 2.9 branch, an attacker with only minimal viewing privileges in the settings section is able to change th…

  • High 8.8
    CVE-2024-7646 Public exploit EPSS 27%

    CVE-2024-7646 in github.com/kubernetes/ingress-nginx

    A security issue was discovered in ingress-nginx where an actor with permission to create Ingress objects (in the `networking.k8s.io` or `extensions` API group) can bypass annotation validation to inject arbitrary commands and obtain the credentials of the in…

  • Medium 6.0
    CVE-2024-21978 Public exploit

    Improper input validation in SEV-SNP could allow a malicious hypervisor to read or overwrite guest memory potentially l…

  • High 7.1
    CVE-2024-7014 Public exploit

    Improper multimedia file attachment validation in Telegram for Android app

    EvilVideo vulnerability allows sending malicious apps disguised as videos in Telegram for Android application affecting versions 10.14.4 and older.

  • Critical 9.8
    CVE-2024-5276 Public exploit EPSS 90%

    SQL Injection Vulnerability in FileCatalyst Workflow 5.1.6 Build 135 (and earlier)

    A SQL Injection vulnerability in Fortra FileCatalyst Workflow allows an attacker to modify application data.  Likely impacts include creation of administrative users and deletion or modification of data in the application database. Data exfiltration via SQL i…

  • Medium 6.8
    CVE-2024-34693 Public exploit

    Apache Superset: Server arbitrary file read

    Improper Input Validation vulnerability in Apache Superset, allows for an authenticated attacker to create a MariaDB connection with local_infile enabled. If both the MariaDB server (off by default) and the local mysql client on the web server are set to allo…

  • High 7.3
    CVE-2024-38355 Public exploit

    Unhandled 'error' event in socket.io

    Socket.IO is an open source, real-time, bidirectional, event-based, communication framework. A specially crafted Socket.IO packet can trigger an uncaught exception on the Socket.IO server, thus killing the Node.js process. This issue is fixed by commit `15af2…

  • Critical 9.8
    CVE-2024-3408 Public exploit EPSS 78%

    Authentication Bypass and RCE in man-group/dtale

    man-group/dtale version 3.10.0 is vulnerable to an authentication bypass and remote code execution (RCE) due to improper input validation. The vulnerability arises from a hardcoded `SECRET_KEY` in the flask configuration, allowing attackers to forge a session…

  • Medium 4.8
    CVE-2024-20405 Public exploit

    A vulnerability in the web-based management interface of Cisco Finesse could allow an unauthenticated, remote attacker …

  • Critical 9.8
    CVE-2024-3829 Public exploit

    Arbitrary File Read and Write during Snapshot Recovery in qdrant/qdrant

    qdrant/qdrant version 1.9.0-dev is vulnerable to arbitrary file read and write during the snapshot recovery process. Attackers can exploit this vulnerability by manipulating snapshot files to include symlinks, leading to arbitrary file read by adding a symlin…

  • Critical 9.1
    CVE-2024-22120 Public exploit EPSS 77%

    Time Based SQL Injection in Zabbix Server Audit Log

    Zabbix server can perform command execution for configured scripts. After command is executed, audit entry is added to "Audit Log". Due to "clientip" field is not sanitized, it is possible to injection SQL into "clientip" and exploit time based blind SQL inje…

  • 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 …

  • High 7.5
    CVE-2024-32371 Public exploit

    An issue in HSC Cybersecurity HC Mailinspector 5.2.17-3 through 5.2.18 allows a regular user account to escalate their …

  • 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…

  • Medium 5.3
    CVE-2024-0710 Public exploit

    GP Unique ID <= 1.5.5 - Unauthenticated Form Submission Unique ID Modification

    The GP Unique ID plugin for WordPress is vulnerable to Unique ID Modification in all versions up to, and including, 1.5.5. This is due to insufficient input validation. This makes it possible for unauthenticated attackers to tamper with the generation of a un…

  • Low 2.7
    CVE-2024-3177 Public exploit

    Bypassing mountable secrets policy imposed by the ServiceAccount admission plugin

    A security issue was discovered in Kubernetes where users may be able to launch containers that bypass the mountable secrets policy enforced by the ServiceAccount admission plugin when using containers, init containers, and ephemeral containers with the envFr…

  • Critical 10.0
    CVE-2024-3400 Exploited · Ransomware Public exploit 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
  • High 7.2
    CVE-2023-51444 Public exploit

    GeoServer arbitrary file upload vulnerability in REST Coverage Store API

    GeoServer is an open source software server written in Java that allows users to share and edit geospatial data. An arbitrary file upload vulnerability exists in versions prior to 2.23.4 and 2.24.1 that enables an authenticated administrator with permissions …

  • High 7.5
    CVE-2024-24549 Public exploit EPSS 23%

    Apache Tomcat: HTTP/2 header handling DoS

    Denial of Service due to improper input validation vulnerability for HTTP/2 requests in Apache Tomcat. When processing an HTTP/2 request, if the request exceeded any of the configured limits for headers, the associated HTTP/2 stream was not reset until after …

  • High 7.8
    CVE-2024-26170 Public exploit

    Windows Composite Image File System (CimFS) Elevation of Privilege Vulnerability

    Windows Composite Image File System (CimFS) Elevation of Privilege Vulnerability

  • Medium 6.2
    CVE-2024-27612 Public exploit EPSS 11%

    Numbas editor before 7.3 mishandles editing of themes and extensions.

  • 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.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
  • Low 2.0
    CVE-2024-1247 Public exploit

    Concrete CMS version 9 before 9.2.5 vulnerable to stored XSS via the Role Name field

    Concrete CMS version 9 before 9.2.5 is vulnerable to  stored XSS via the Role Name field since there is insufficient validation of administrator provided data for that field. A rogue administrator could inject malicious code into the Role Name field which mig…

  • High 7.5
    CVE-2023-47355 Public exploit

    The com.eypcnnapps.quickreboot (aka Eyuep Can Yilmaz {ROOT] Quick Reboot) application 1.0.8 for Android has exposed bro…

  • Medium 6.5
    CVE-2024-21388 Public exploit EPSS 36%

    Microsoft Edge (Chromium-based) Elevation of Privilege Vulnerability

    Microsoft Edge (Chromium-based) Elevation of Privilege Vulnerability

  • Medium 6.5
    CVE-2024-0507 Public exploit EPSS 66%

    Privilege Escalation by Code Injection in the Management Console in GitHub Enterprise Server

    An attacker with access to a Management Console user account with the editor role could escalate privileges through a command injection vulnerability in the Management Console. This vulnerability affected all versions of GitHub Enterprise Server and was fixed…

  • Medium 6.6
    CVE-2024-20666 Public exploit

    BitLocker Security Feature Bypass Vulnerability

    BitLocker Security Feature Bypass Vulnerability

  • High 7.5
    CVE-2023-39539 Public exploit

    Failure when uploading a Logo image file

    AMI AptioV contains a vulnerability in BIOS where a User may cause an unrestricted upload of a PNG Logo file with dangerous type by Local access. A successful exploit of this vulnerability may lead to a loss of Confidentiality, Integrity, and/or Availability.