CWE ID: 157
Name: Failure to Sanitize Paired Delimiters
Das Produkt verarbeitet die Zeichen, die zur Kennzeichnung des Beginns und des Endes einer Gruppe von Entitäten verwendet werden, wie beispielsweise Klammern, eckige Klammern und geschweifte Klammern, nicht korrekt.
Effektivität: Unknown
Beschreibung: Entwickler sollten davon ausgehen, dass Gruppierungselemente in die Input-Vektoren ihres Produkts injiziert, entfernt oder manipuliert werden. Eine geeignete Kombination aus Denylists und Allowlists sollte verwendet werden, um sicherzustellen, dass nur valide, 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 sie 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 extrem 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).
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.