Det första problemet är det sätt på vilket ld.so hanterar miljövariabler: För att tillhandahålla en säker miljö för "setuid"-program tas vissa miljövariabler som kan inverka på hur programmet körs bort, såsom LD_PRELOAD och LD_LIBRARY_PATH. Tyvärr fanns det ett fel i ld.so som gjorde så att de inte togs bort under vissa omständigheter, något som skulle påverka "setuid"-program som exekverar andra binärer utan att släppa från sig privilegier eller själva rensa i miljön.
Det andra problemet är "lokal"-hanteringen i glibc. Glibc söker efter vissa tecken, såsom "/", i miljövariablerna LANG och LC_* för att se om någon försöker lura programmet att läsa valfria filer. Tyvärr fanns det vissa logiska fel i dessa kontroller, vilka skulle kunna användas för att göra så att "setuid"-program använder valfria filer för lokalinställningar, något som kan utnyttjas för att lura det att exekvera valfri kod.
Dessa problem har rättats i version 2.0.7.19981211-6.3 för Debian GNU/Linux 2.1 (slink) och 2.1.3-13 för Debian GNU/Linux 2.2 (potato). Vi rekommenderar att du uppgraderar dina glibc-paket omedelbart.