File-Schwachstelle erlaubt Denial-of-Service-Attacke

Eine Sicherheitslücke in dem file-Tool hat zur Folge, dass ein entfernter Angreifer Denial-of-Service-Attacken durchführen kann. Das file-Programm dient dazu den Typ von Dateien zu bestimmen. Ursache der Sicherheitslücke ist ein Integer-Overflow-Fehler in der cdf_read_property_info()-Funktion in der cdf.c-Datei. Hier kann die q-Variable überlaufen:
q = (const uint8_t *)(const void *) ((const char *)(const void *)p + ofs – 2 * sizeof(uint32_t));
Die Attacke kann mit Hilfe einer speziell konstruierten  Composite Document Datei (CDF) durchgeführt werden. Der Patch fügt zu dieser Funktion folgende If()-Abfrage hinzu, um die Schwachstelle abzufangen:
if (q < p) {
    DPRINTF((“Wrapped around %p < %p\n”, q, p));
    goto out;
}
Damit ist die Attacke nicht mehr möglich. Betroffen sind die Versionen 5.19 und älter.

Nach oben