CHMLib 0.40a Integer-Überlauf ... Notiz

CHMLib 0.40a Integer-Überlauf in _unmarshal_int32 / _unmarshal_uint32 während des CHM-Header-Parsings

Veröffentlicht von Ron E am 15. September. In CHMLib (neueste Version 0.40) existiert eine Sicherheitslücke beim Parsen fehlerhafter CHM-Dateien (Compiled HTML Help). Die Funktionen _unmarshal_int32 und _unmarshal_uint32 rekonstruieren 32-Bit-Werte unter Verwendung von Links-Verschiebungen auf signierten Ganzzahlen ohne ordnungsgemäße Typumwandlung: dest = (pData)[0] | (pData)[1]<<8 | (pData)[2]<<16 | (*pData)[3]<<24; Wenn ein Angreifer speziell erstellte Eingaben liefert, so dass das höchstwertige Byte 0xFF ist, wird dadurch ein Links... ausgelöst.