• CWE-164: Improper Neutralization of Internal Special Elements

Das Produkt empfängt Eingaben von einer vorgelagerten Komponente, neutralisiert diese jedoch nicht oder neutralisiert sie fehlerhaft. Dies betrifft spezielle Elemente, die von der Anwendung intern verwendet werden und bei der Weiterleitung an eine nachgelagerte Komponente unerwartet interpretiert werden könnten.

CWE-164: Improper Neutralization of Internal Special Elements

CWE ID: 164
Name: Improper Neutralization of Internal Special Elements

Beschreibung

Das Produkt empfängt Eingaben von einer vorgelagerten Komponente, neutralisiert diese jedoch nicht oder neutralisiert sie fehlerhaft. Dies betrifft spezielle Elemente, die von der Anwendung intern verwendet werden und bei der Weiterleitung an eine nachgelagerte Komponente unerwartet interpretiert werden könnten.

Erweiterte Beschreibung

Während des Parsing können falsch behandelte interne spezielle Elemente dazu führen, dass der Prozess unerwartete Aktionen ausführt, die zu einem Angriff führen.

Risikominderungsmaßnahmen

Maßnahme (Unknown)

Effektivität: Unknown
Beschreibung: Entwickler sollten davon ausgehen, dass interne spezielle Elemente in den Input-Vektoren ihres Produkts injiziert, entfernt oder manipuliert werden. Eine geeignete Kombination aus Denylists und Allowlists sollte verwendet werden, um sicherzustellen, dass nur gültige, erwartete und angemessene Inputs vom System verarbeitet werden.

Maßnahme (Implementation)

Effektivität: Unknown
Beschreibung: Obwohl die Verwendung dynamisch generierter Query Strings, Code oder Commands, die Kontrolle und Daten vermischen, riskant ist, kann dies manchmal unvermeidlich sein. Argumente sollten korrekt in Anführungszeichen gesetzt und alle speziellen Zeichen innerhalb dieser Argumente escaped werden. Der konservativste Ansatz ist, alle Zeichen zu escapen oder zu filtern, die nicht durch eine äußerst strenge Allowlist bestehen (z. B. alles, was nicht alphanumerisch oder Leerzeichen ist). Wenn einige spezielle Zeichen dennoch benötigt werden, wie z. B. Leerzeichen, sollten Sie jedes Argument nach dem Escaping/Filtering-Schritt in Anführungszeichen setzen. Seien Sie vorsichtig vor Argument Injection (CWE-88).

Maßnahme (Implementation)

Effektivität: Unknown
Beschreibung: Eingaben sollten vor der Validierung in die aktuelle interne Repräsentation der Anwendung dekodiert und kanonisiert werden (CWE-180). Stellen Sie sicher, dass die Anwendung dieselbe Eingabe nicht zweimal dekodiert (CWE-174). Solche Fehler könnten dazu verwendet werden, Allowlist-Validierungsschemata zu umgehen, indem gefährliche Eingaben nach ihrer Prüfung eingeführt werden.