Katalog CWE

CWE-184 · Słabość

Incomplete List of Disallowed Inputs

Abstrakcja
Bazowa
Status
Szkic
Dodano
19 lipca 2006
Ostatnia zmiana
11 grudnia 2025

Podatności CVE z tą słabościąPełny wpis na cwe.mitre.org ↗

Opis

The product implements a protection mechanism that relies on a list of inputs (or properties of inputs) that are not allowed by policy or otherwise require other action to neutralize before additional processing takes place, but the list is incomplete.

Inne nazwy

Denylist / Deny List
This is used by CWE and CAPEC instead of other commonly-used terms. Its counterpart is allowlist.
Blocklist / Block List
This is often used by security tools such as firewalls, email or web gateways, proxies, etc.
Blacklist / Black List
This term is frequently used, but usage has been declining as organizations have started to adopt other terms.

Skutki

  • Access Control

    Bypass Protection Mechanism

    Attackers may be able to find other malicious inputs that were not expected by the developer, allowing them to bypass the intended protection mechanism.

Zapobieganie

  • Implementation · Input Validation

    Do not rely exclusively on detecting disallowed inputs. There are too many variants to encode a character, especially when different environments are used, so there is a high likelihood of missing some variants. Only use detection of disallowed inputs as a mechanism for detecting suspicious activity. Ensure that you are using other protection mechanisms that only identify "good" input - such as lists of allowed inputs - and ensure that you are properly encoding your outputs.

Przykłady podatności

Słabość nadrzędna

Może prowadzić do

Słabości podrzędne

Kiedy powstaje

Dotyczy

Not Language-Specific, Not Technology-Specific

Uwagi

Multiple interpretation errors can indirectly introduce inputs that should be disallowed. For example, a list of dangerous shell metacharacters might not include a metacharacter that only has meaning in one particular shell, not all of them; or a check for XSS manipulations might ignore an unusual construct that is supported by one web browser, but not others.

Źródła

  1. Exploiting Software: How to Break Code — Greg Hoglund, Gary McGraw, Addison-Wesley, 2004
  2. Blacklist defenses as a breeding ground for vulnerability variants — Steve Christey, 2006
  3. The Art of Software Security Assessment — Mark Dowd, John McDonald, Justin Schuh, Chapter 8, "Eliminating Metacharacters", Page 435, Addison Wesley, 2006

Wpis z katalogu CWE 4.20.