• CWE-74: Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')

Das Produkt konstruiert einen Teil oder das gesamte Kommando, eine Datenstruktur oder einen Datensatz unter Verwendung von extern beeinflusstem Input von einer vorgelagerten Komponente, neutralisiert jedoch nicht oder neutralisiert diesen fehlerhaft. Dies kann dazu führen, dass spezielle Elemente, die die Art und Weise, wie es von einer nachgelagerten Komponente geparst oder interpretiert wird, verändern könnten, nicht eliminiert werden.

CWE-74: Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')

CWE ID: 74
Name: Improper Neutralization of Special Elements in Output Used by a Downstream Component (‘Injection’)

Beschreibung

Das Produkt konstruiert einen Teil oder das gesamte Kommando, eine Datenstruktur oder einen Datensatz unter Verwendung von extern beeinflusstem Input von einer vorgelagerten Komponente, neutralisiert jedoch nicht oder neutralisiert diesen fehlerhaft. Dies kann dazu führen, dass spezielle Elemente, die die Art und Weise, wie es von einer nachgelagerten Komponente geparst oder interpretiert wird, verändern könnten, nicht eliminiert werden.

Erweiterte Beschreibung

Software oder andere automatisierte Logik trifft bestimmte Annahmen darüber, was Daten und Steuerung ausmacht. Das Problem entsteht durch das Fehlen einer Verifizierung dieser Annahmen für benutzergesteuerten Input, was zu Injection-Problemen führt. Injection-Probleme umfassen eine breite Palette von Problemen – alle gemildert auf sehr unterschiedliche Weise und in der Regel versucht, um den Kontrollfluss des Prozesses zu verändern. Aus diesem Grund ist der effektivste Weg, diese Schwachstellen zu diskutieren, die charakteristischen Merkmale zu notieren, die sie als Injection-Schwachstellen klassifizieren. Das wichtigste Merkmal ist, dass alle Injection-Probleme eine Gemeinsamkeit aufweisen: Sie erlauben die Injection von Control-Plane-Daten in den vom Benutzer kontrollierten Data-Plane. Dies bedeutet, dass die Ausführung des Prozesses durch das Senden von Code über legitime Datenkanäle verändert werden kann, ohne andere Mechanismen zu verwenden. Während Buffer Overflows und viele andere Fehler die Nutzung eines weiteren Problems erfordern, um Ausführung zu erlangen, benötigen Injection-Probleme lediglich, dass die Daten geparst werden.

Risikominderungsmaßnahmen

Maßnahme (Requirements)

Effektivität: Unknown
Beschreibung: Es ist möglich, Programmiersprachen und unterstützende Technologien auszuwählen, die nicht anfällig für diese Probleme sind.

Maßnahme (Implementation)

Effektivität: Unknown
Beschreibung: Nutzen Sie eine geeignete Mischung aus Allowlist- und Denylist-Parsing, um Control-Plane-Syntax aus allen Eingaben herauszufiltern.