Libtar: Integer Overflow lässt Angreifer Befehle ausführen

Eine Sicherheitslücke in der Bibliothek Libtar hat zur Folge, dass ein lokaler Angreifer Befehle mit den Rechten des Anwenders ausführen kann.

Ursache ist ein Integer-Overflow-Fehler in der Quelltextdatei “lib/block.c” Der Programmierfehler befindet sich in mehreren Zeilen der Funktion “th_read_internal()” innerhalb von “if (TH_ISLONGLINK(t))”-Blöcken. Hier werden an mehren Stellen Speichergrößen berechnet:

j = (sz / T_BLOCKSIZE) + (sz % T_BLOCKSIZE ? 1 : 0);

Allerdings kann es hier zu Integer Overflows kommen, die dazu führen, dass anschließende Speicherallokationen wie

(char *)malloc(j * T_BLOCKSIZE);

Buffer Overflows auslösen und es damit einem Angreifer erlauben, beliebige Befehle auszuführen.

Betroffen sind die Versionen 1.2.19 und älter.

Nach oben