• CWE-152: Improper Neutralization of Macro Symbols

Das Produkt empfängt Eingaben von einer vorgelagerten Komponente, neutralisiert diese jedoch nicht oder neutralisiert sie fehlerhaft, sodass spezielle Elemente, die als Makro-Symbole interpretiert werden könnten, an eine nachgelagerte Komponente gesendet werden.

CWE-152: Improper Neutralization of Macro Symbols

CWE ID: 152
Name: Improper Neutralization of Macro Symbols

Beschreibung

Das Produkt empfängt Eingaben von einer vorgelagerten Komponente, neutralisiert diese jedoch nicht oder neutralisiert sie fehlerhaft, sodass spezielle Elemente, die als Makro-Symbole interpretiert werden könnten, an eine nachgelagerte Komponente gesendet werden.

Risikominderungsmaßnahmen

Maßnahme (Implementation)

Effektivität: Unknown
Beschreibung: Entwickler sollten davon ausgehen, dass Makro-Symbole 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.

Maßnahme (Implementation)

Effektivität: Unknown
Beschreibung: Verwenden Sie eine Output-Encoding, die vom nachgelagerten (downstream) Komponenten, die die Ausgabe lesen, verarbeitet werden kann. Gängige Encodings umfassen ISO-8859-1, UTF-7 und UTF-8. Wenn keine Encoding angegeben wird, kann eine nachgelagerte Komponente eine andere Encoding wählen, entweder durch Annahme einer Standard-Encoding oder durch automatische Inferenz, welche Encoding verwendet wird, was zu Fehlern führen kann. Bei inkonsistenten Encodings kann die nachgelagerte Komponente bestimmte Zeichen oder Byte-Sequenzen als Sonderzeichen behandeln, obwohl sie im ursprünglichen Encoding keine sind. Angreifer könnten diese Diskrepanz dann ausnutzen, um Injection-Angriffe durchzuführen und sogar Schutzmechanismen zu umgehen, die davon ausgehen, dass die nachgelagerte Komponente ebenfalls die ursprüngliche Encoding verwendet.

Maßnahme (Implementation)

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 der Prüfung eingeführt werden.