CWE ID: 167
Name: Improper Handling of Additional Special Element
Das Produkt empfängt Eingaben von einer vorgelagerten Komponente, behandelt diese jedoch nicht oder verarbeitet sie fehlerhaft, wenn ein zusätzliches, unerwartetes Special Element bereitgestellt wird.
Effektivität: Unknown
Beschreibung: Entwickler sollten davon ausgehen, dass zusätzliche Special Elements in die Input Vectors ihres Produkts injiziert werden. Verwenden Sie eine geeignete Kombination aus Denylists und Allowlists, um sicherzustellen, dass nur gültige, erwartete und angemessene Eingaben vom System verarbeitet werden.
Effektivität: Unknown
Beschreibung: Obwohl die Verwendung von dynamisch generierten 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 Special Characters innerhalb dieser Argumente. Der konservativste Ansatz ist das Escapen oder Filtern aller Zeichen, die nicht durch eine äußerst strenge Allowlist bestehen (z. B. alles, was nicht alphanumerisch oder Leerzeichen ist). Wenn bestimmte Special Characters dennoch benötigt werden, wie z. B. Leerzeichen, umschließen Sie jedes Argument nach dem Escapen/Filtern in Anführungszeichen. Seien Sie vorsichtig vor 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.