- A hozzászóláshoz be kell jelentkezni
- 2947 megtekintés
Hozzászólások
Még a végén javításra kerül az mprotect bug.
- A hozzászóláshoz be kell jelentkezni
Egyáltalán nem értek a programozáshoz, a glibc-hez meg pláne nem, de a blogbejegyzésedet átfutva úgy képzelem, itt két mprotect-nek kell lennie:
1. verem végrehajthatóvá tétele
2. relro szakasz írhatóvá tétele
Gondolom, pax alatt egyik sem sikerülhet, így a végrehajtható vermet igénylő progik a glibc bug kijavítása után sem fognak menni, legfeljebb jobban rá lehet jönni, mi okozza a hibát. Jól sejtem?
- A hozzászóláshoz be kell jelentkezni
Az mprotectek megvannak, csak a visszatérési értékek vizsgálata nem, így utána a read-only memóriaterületre történne írás, ami nem sikerül érthető módon és segfault a jutalma. Ez programozási hiba.
Ahogy Kees Cook is írta ez nem PaX specifikus, az SELinux is megtagadhat ilyen hívásokat (és vanillánál is előfordulhat olyan eset, hogy az mprotect hibával tér vissza), így máskor is problémát jelent a visszatérési érték vizsgálatának elmulasztása.
A RELRO szekció újra írásvédetté állításának sikerességét nem ellenőrízve pedig a read-only adatok írhatóak maradnak utána is, amely viszont már komoly biztonsági hibának minősül.
- A hozzászóláshoz be kell jelentkezni