Uzbl does anonymous mappings, so PaX will kill it and something similar to this will be logged:
PAX: From 79.144.197.25: execution attempt in: <anonymous mapping>, a0ed8000-a0ee4000 a0ed8000 PAX: terminating task: /usr/bin/uzbl(uzbl):32099, uid/euid: 0/0, PC: a0ed824c, SP: b54af27c PAX: bytes at PC: 59 89 4f ec c7 07 0a 00 00 00 c7 47 04 0a 00 00 00 c7 47 08 PAX: bytes at SP-4:
This flags work:
# paxctl -v /usr/bin/uzbl
PaX control v0.5
Copyright 2004,2005,2006,2007 PaX Team <pageexec@freemail.hu>
- PaX flags: P-S--mX-E-R- [/usr/bin/uzbl]
PAGEEXEC is enabled
SEGMEXEC is enabled
MPROTECT is disabled
RANDEXEC is enabled
EMUTRAMP is enabled
RANDMMAP is enabled
Note: for gcc >= 4 then use chpax, for gcc < 4 use paxctl.
This is how to set it up:
# paxctl -PEmRXS /usr/bin/uzbl