( turdus | 2012. 06. 22., p – 16:50 )

"Ahhoz, hogy gyoker legyel,kvazi eleg atirni a processt leiro structuraban , az effective uid-ot."
Ez így van, itt viszont nem tudsz szofisztikáltan átírni egy uid mezőt, mert egyszerre több, mint 100 byte íródik, aminek a nagy részét ráadásul nem tudod kontrollálni, hogy mit tartalmaz.

"Nekem ugy tunik, hogy az epilogusban miutan a cucc vissza allitja a user registereket, meg kernel modbani cimrol dobja a #GP -t.
Mivel #GP szerint a hiba kernelbol johetett, nem igyekszik lecserelni az rsp -t kernel rsp -re, igy az user -e marad ott, a tobbi user registerrel egyutt."
Jó a meglátásod. Mivel a kernel nem cseréli le a userland rsp-t kernel rsp-re, ezért felhasználható arra, hogy tetszőleges címre íródjanak a user regiszterek. Ekkor azonban nem marad a user stack ott, ahol kéne. Ahhoz az kell, hogy a kernel mindenképp váltson rsp-t (amire egyébként a CPU lehetőséget is ad, csak hát nem használja a Linux, mert inkább a legacy módszernél maradtak).

Hadd köszönjem meg Neked, hogy végre értelmes, témábavágó hozzászólást is olvashatok!