• CWE-1389: Incorrect Parsing of Numbers with Different Radices

Das Produkt parst numerische Eingaben unter der Annahme von Basis 10 (dezimalen) Werten, berücksichtigt aber keine Eingaben, die eine andere Basis (radix) verwenden.

CWE-1389: Incorrect Parsing of Numbers with Different Radices

CWE ID: 1389
Name: Incorrect Parsing of Numbers with Different Radices

Beschreibung

Das Produkt parst numerische Eingaben unter der Annahme von Basis 10 (dezimalen) Werten, berücksichtigt aber keine Eingaben, die eine andere Basis (radix) verwenden.

Risikominderungsmaßnahmen

Maßnahme (Implementation)

Effektivität: Unknown
Beschreibung: Wenn die Anwendung ausschließlich dezimale Werte erwartet, sollten bedingte Prüfungen so implementiert werden, dass die Verarbeitung von oktalen oder hexadezimalen Strings verhindert wird. Dies kann erreicht werden, indem jeder numerische String vor der bedingten Prüfung in einen expliziten Basis-10 Integer konvertiert wird, um zu verhindern, dass oktale oder hexadezimale Werte überhaupt gegen die Bedingung geprüft werden.

Maßnahme (Implementation)

Effektivität: Unknown
Beschreibung: Sollten verschiedene numerische Basen unterstützt werden müssen, prüfe auf führende Zeichen, die die nicht-dezimale Basis kennzeichnen (z.B. “0x” für Hexadezimal), und konvertiere die numerischen Strings in Integer der jeweiligen Basis. Weise alle anderen Alternative-Base Strings zurück, die nicht explizit von der Anwendung unterstützt werden.

Maßnahme (Implementation)

Effektivität: Unknown
Beschreibung: Wenn reguläre Ausdrücke zur Validierung von IP-Adressen verwendet werden, stelle sicher, dass diese durch ^ und $ begrenzt sind, um zu verhindern, dass IP-Adressen mit Basispräfixen übereinstimmen.