Loader dinamis
Inti masalah: sajrone operasi, ld.so pisanan ngekstrak nilai variabel LD_LIBRARY_PATH saka lingkungan lan, nggunakake fungsi _dl_split_path (), ngowahi dadi array strings - path menyang direktori. Yen mengko ternyata proses saiki diwiwiti kanthi aplikasi SUID / SGID, banjur array sing digawe lan, nyatane, variabel LD_LIBRARY_PATH bakal dibusak. Ing wektu sing padha, yen _dl_split_path () kehabisan memori (sing angel amarga watesan eksplisit 256 kB ing ukuran variabel lingkungan, nanging kanthi teori bisa), banjur variabel _dl_libpath bakal nampa nilai NULL, lan mriksa sabanjure Nilai saka variabel iki bakal meksa skip telpon kanggo _dl_unsetenv ("LD_LIBRARY_PATH").
Kerentanan ditemokake dening para ahli
Tambahan: Masalah wis diwenehi nomer
amd64 lan i386 (eksploitasi bisa diadaptasi kanggo arsitektur liyane).
Masalah kasebut bisa dimanfaatake ing instalasi gawan lan ngidini pangguna lokal sing ora duwe hak istimewa kanggo nglakokake kode minangka root liwat substitusi perpustakaan nalika nglakokake chpass utawa passwd suid utilities. Kanggo nggawe kahanan memori kurang perlu kanggo operasi, nyetel watesan RLIMIT_DATA liwat setrlimit.
Source: opennet.ru