In de hulpprogramma e2fsck, geleverd met het pakket , (), waardoor een aanvaller code kan uitvoeren tijdens het controleren van een bestandssysteem met speciaal opgemaakte mappen. Het bestaan van de kwetsbaarheid is bevestigd in versies van 1.43.3 tot en met 1.45.4. De kwetsbaarheid is verholpen in de update . In de distributies is het probleem echter nog niet opgelost (, , , , ).
De kwetsbaarheid wordt veroorzaakt door een fout in de functie mutate_name() uit het bestand rehash.c, die wordt gebruikt bij het opnieuw opbouwen van de hash-tabellen die aan de map zijn gekoppeld, waarmee bestanden in de map worden gekoppeld. Het beschadigen van de met de map gerelateerde hash_entry-structuur kan leiden tot het schrijven van aanvallersgegevens in een gebied buiten de toegewezen buffer. Wanneer verschillende bestanden met dezelfde naam in de hash-tabel aan de map zijn gekoppeld, hernoemt het hulpprogramma e2fsck de dubbele bestanden door ~0, ~1, enz. aan de naam toe te voegen. Voor tijdelijke opslag van de nieuwe naam tijdens een dergelijke hernoeming wordt een buffer van 256 byte in de stack toegewezen.
De grootte van de gekopieerde gegevens wordt bepaald door de uitdrukking "entry->name_len & 0xff", maar de waarde entry->name_len wordt van de schijfstructuur geladen, en niet berekend op basis van de werkelijke grootte van de naam. Als de grootte nul is, neemt de array-index de waarde -1 aan en ontstaan er omstandigheden voor een ondergrens integer-overloop (integer underflow) en het overschrijven van andere gegevens in de stack met de waarde "~0". Voor 64-bits systemen wordt de exploitatie van de kwetsbaarheid als onwaarschijnlijk beoordeeld en vereist deze geen beperkingen op de stackgrootte (ulimit -s unlimited). Voor 32-bits systemen wordt exploitatie als mogelijk beschouwd, maar het resultaat hangt sterk af van hoe het uitvoerbare bestand door de compiler is samengesteld.
Voor het uitvoeren van een aanval moet de aanvaller de gegevens in een ext2-, ext3- of ext4-partitie op een bepaalde manier beschadigen. Aangezien deze operatie supergebruikersrechten vereist, vormt de kwetsbaarheid een bedreiging bij het controleren van externe opslagapparaten of externe bestandenystemen door het hulpprogramma e2fsck.
Bron: opennet.ru
