1 |
On 13 Apr 2006 at 14:46, Mivz wrote: |
2 |
> Without enforcing ping works just fine: |
3 |
|
4 |
this is good enough to tell the story. |
5 |
|
6 |
> brk(0) = 0x8001e320 |
7 |
|
8 |
that address looks interesting, you'll see why. |
9 |
|
10 |
|
11 |
> mprotect(0x80000000, 40960, PROT_READ|PROT_WRITE) = 0 |
12 |
> mprotect(0x80000000, 40960, PROT_READ|PROT_EXEC) = 0 |
13 |
|
14 |
and this is where the PROT_WRITE->PROT_EXEC transition happens, |
15 |
a strong indication of text relocations. comparing it to the |
16 |
above brk address, we can be quite sure that it is in fact the |
17 |
main application itself being subject to such torture (brk always |
18 |
follows the main app in memory). noting the unusual start address |
19 |
of the main app (it'd be 0x08048000 for ET_EXEC), we can conclude |
20 |
that your ping executable is a PIE that is not fully PIC. run |
21 |
scanelf -T on it to see where the problem is. |
22 |
|
23 |
-- |
24 |
gentoo-hardened@g.o mailing list |