CWE ID: 156
Name: Improper Neutralization of Whitespace
Das Produkt empfängt Eingaben von einer vorgelagerten Komponente, neutralisiert diese jedoch nicht oder neutralisiert sie fehlerhaft, sodass spezielle Elemente, die als Whitespace interpretiert werden könnten, an eine nachgelagerte Komponente weitergeleitet werden.
Dies kann Leerzeichen, Tabs usw. umfassen.
Effektivität: Unknown
Beschreibung: Entwickler sollten davon ausgehen, dass Leerzeichen in den Input-Vektoren ihres Produkts injiziert, entfernt oder manipuliert werden. Setzen Sie eine geeignete Kombination aus Denylists und Allowlists ein, um sicherzustellen, dass nur gültige, erwartete und angemessene Eingaben vom System verarbeitet werden.
Effektivität: Unknown
Beschreibung: Obwohl die Verwendung dynamisch generierter Query Strings, Code oder Commands, die Kontrollelemente und Daten vermischen, riskant ist, kann dies manchmal unvermeidlich sein. Zitieren Sie Argumente korrekt und escapen Sie alle speziellen Zeichen innerhalb dieser Argumente. 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 Whitespace ist). Wenn einige spezielle Zeichen dennoch benötigt werden, wie z. B. Whitespace, umschließen Sie jedes Argument nach dem Escaping/Filtering-Schritt in Anführungszeichen. Achten Sie auf Argument Injection (CWE-88).
Effektivität: Unknown
Beschreibung: Eingaben sollten vor der Validierung (CWE-180) in die aktuelle interne Repräsentation der Anwendung dekodiert und kanonisiert werden. 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.