CWEweakness

CWE-155 Improper Neutralization of Wildcards or Matching Symbols

Official page ↗
Abstraction
Variant
Structure
Simple
Status
Draft
Languages
Not Language-Specific
CWE version
5.0

Description

The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as wildcards or matching symbols when they are sent to a downstream component.

Common consequences

• Integrity: Unexpected State, Varies by Context — As data is parsed, an injected element may cause the process to take unexpected actions.

Potential mitigations

• Developers should anticipate that wildcard or matching elements will be injected/removed/manipulated in the input vectors of their product. Use an appropriate combination of denylists and allowlists to ensure only valid, expected and appropriate input is processed by the system. • [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. • [Implementation] While it is risky to use dynamically-generated query strings, code, or commands that mix control and data together, sometimes it may be unavoidable. Properly quote arguments and escape any special characters within those arguments. The most conservative approach is to escape or filter all characters that do not pass an extremely strict allowlist (such as everything that is not alphanumeric or white space). If some special characters are still needed, such as white space, wrap each argument in quotes after the escaping/filtering step. Be careful of argument injection (CWE-88). • [Implementation] Inputs should be decoded and canonicalized to the application's current internal representation before being validated (CWE-180). Make sure that the application does not decode the same input twice (CWE-174). Such errors could be used to bypass allowlist validation schemes by introducing dangerous inputs after they have been checked.

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-2002-0433: List files in web server using "*.ext" • CVE-2002-1010: Bypass file restrictions using wildcard character. • CVE-2001-0334: Wildcards generate long string on expansion. • CVE-2004-1962: SQL injection involving "/**/" sequences.

Related

Observed example · CVE (4)

  • CVE-2004-1962 SQL injection vulnerability in index.php in Protector System 1.15b1 allows remote attackers to bypass SQL injection filters by using "/**/"… vulnerability
  • CVE-2002-1010 Lotus Domino R4 allows remote attackers to bypass access restrictions for files in the web root via an HTTP request appended with a "?"… vulnerability
  • CVE-2002-0433 Pi3Web 2.0.0 allows remote attackers to view restricted files via an HTTP request containing a "*" (wildcard or asterisk) character. vulnerability
  • CVE-2001-0334 FTP service in IIS 5.0 and earlier allows remote attackers to cause a denial of service via a wildcard sequence that generates a long… vulnerability

Child of · CWE (1)

  • CWE-138 Improper Neutralization of Special Elements weakness

Referenced by CVE · weakness (19)

  • CVE-2026-85724 Moquette is a lightweight Java MQTT broker. vulnerability
  • CVE-2026-87016 Open WebUI is an extensible, feature-rich, and user-friendly self-hosted AI platform. vulnerability
  • CVE-2026-68939 Pyenv provides simple Python version management. vulnerability
  • CVE-2026-73412 Shescape is a simple shell escape library for JavaScript. vulnerability
  • CVE-2026-49482 ClipBucket v5 is an open source video sharing platform. vulnerability
  • CVE-2025-11757 The CloudEdge Cloud does not sanitize the MQTT topic input, which could allow an attacker to leverage the MQTT wildcard to receive all the… vulnerability
  • CVE-2025-4232 An improper neutralization of wildcards vulnerability in the log collection feature of Palo Alto Networks GlobalProtect™ app on macOS… vulnerability
  • CVE-2025-27515 Laravel is a web application framework. vulnerability
  • CVE-2025-0681 The Cloud MQTT service of the affected products supports wildcard topic subscription which could allow an attacker to obtain sensitive… vulnerability
  • CVE-2025-24376 kubewarden-controller is a Kubernetes controller that allows you to dynamically register Kubewarden admission policies. vulnerability
  • CVE-2025-0106 A wildcard expansion vulnerability in Palo Alto Networks Expedition allows an unauthenticated attacker to enumerate files on the host… vulnerability
  • CVE-2024-47791 Ruijie Reyee OS versions 2.206.x up to but not including 2.320.x could allow an attacker to subscribe to partial possible topics in Ruijie… vulnerability
  • CVE-2024-8688 An improper neutralization of matching symbols vulnerability in the Palo Alto Networks PAN-OS command line interface (CLI) enables… vulnerability
  • CVE-2024-6509 Marinus Pfund, member of the AXIS OS Bug Bounty Program, has found the VAPIX API alwaysmulti.cgi was vulnerable for file globbing which… vulnerability
  • CVE-2024-0054 Sandro Poppi, member of the AXIS OS Bug Bounty Program, has found that the VAPIX APIs local_list.cgi, create_overlay.cgi and irissetup.cgi… vulnerability
  • CVE-2024-0055 Sandro Poppi, member of the AXIS OS Bug Bounty Program, has found that the VAPIX APIs mediaclip.cgi and playclip.cgi was vulnerable for… vulnerability
  • CVE-2022-21646 SpiceDB is a database system for managing security-critical application permissions. vulnerability
  • CVE-2020-1772 It's possible to craft Lost Password requests with wildcards in the Token value, which allows attacker to retrieve valid Token(s),… vulnerability
  • CVE-2019-3802 This affects Spring Data JPA in versions up to and including 2.1.6, 2.0.14 and 1.11.20. vulnerability

Referenced by CWE · child of (1)

  • CWE-56 Path Equivalence: 'filedir*' (Wildcard) weakness