CWE ID: 145
Name: Improper Neutralization of Section Delimiters
Das Produkt empfängt Eingaben von einer vorgelagerten Komponente, neutralisiert diese jedoch nicht oder neutralisiert sie fehlerhaft, sodass spezielle Elemente, die als Abschnittsdelimitoren interpretiert werden könnten, an eine nachgelagerte Komponente gesendet werden.
Effektivität: Unknown
Beschreibung: Entwickler sollten davon ausgehen, dass Abschnittsdelimitoren 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 Eingaben vom System verarbeitet werden.
Effektivität: Unknown
Beschreibung: Die Verwendung von dynamisch generierten Query Strings, Code oder Commands, die Kontrollelemente und Daten vermischen, birgt Risiken. In manchen Fällen mag dies jedoch 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 extrem strenge Allowlist bestehen (z.B. alles, was nicht alphanumerisch oder Leerzeichen ist). Wenn bestimmte spezielle Zeichen dennoch benötigt werden, wie z.B. Leerzeichen, sollten diese nach dem Escaping/Filtering-Schritt in Anführungszeichen gesetzt werden. Achten Sie auf Argument Injection (CWE-88).
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 ausgenutzt werden, Allowlist-Validierungsschemata zu umgehen, indem gefährliche Eingaben nach ihrer Prüfung eingeführt werden.