( Hunger | 2012. 01. 24., k – 19:50 )

A rendes reproducer verzió továbbra is az ami nálam van kinn (abban van return 0 is egyébként, de itt nincs jelentősége, csak így pedantic ;). Spender csak azt a szarvashibát javította, amely miatt fals pozitív "not vulnerable" üzenetet adott a nála kinn levő reproducer (hibás < 0 ellenőrzés, cast mellett), a többi apróbb javítást nem vette át tőlem.

Mivel azonban ez egy reproducer, ezért csak arra volt való, hogy reprodukálni lehessen hibás kernelen a problémát. Alapvetően azt ellenőrzi, hogy lehet-e írni a /proc/pid/mem-be vagy nem (régebbi kerneleken nem lehetett, így azok nem érintettek a biztonsági hibában). Linus viszont olyan javítást eszközölt, amelytől továbbra is írható marad a /proc/pid/mem, de (remélhetőleg :) most már csak a saját processz számára. A reproducer viszont mivel csak az írás tényét ellenőrzi, így továbbra is "vulnerable"-t ír az új kernelekre (kivéve Ubuntu Oneiric alatt, mert ott nem vették át Linus módosításait, hanem inkább revertelték azt a commitot, amely előidézte a problémát).

Ha ellenőrizni akarod, hogy javítva lett-e a hiba, futtasd le az exploitot. (Ha eddig root shellt kaptál és az új kernellel már nem, akkor nagy valószínűséggel javítva van :)

De kilehetne bővíteni a reproducert is, hogy az exploitot utánozva, de egyszerűbb módszerekkel ellenőrizze a problémát. Meghagyom neked házi feladatnak. :P