PaX MPROTECT question
Posted: Tue Dec 30, 2003 2:32 pm
I've started reading some of the PaX docs and I've a question (ok, I'm confused )
If "Introducing code into a task's address space is possible by either creating an executable mapping or modifying an already existing writable/executable mapping" and MPROTECT prevents you from
- creating executable anonymous mappings
- creating executable/writable file mappings
- making an executable/read-only file mapping writable except for performing relocations on an ET_DYN ELF file (non-PIC shared library)
- making a non-executable mapping executable
then does not MPROTECT prevent this first venue of attack (along with NOEXEC preventing the second venue)?
If "Introducing code into a task's address space is possible by either creating an executable mapping or modifying an already existing writable/executable mapping" and MPROTECT prevents you from
- creating executable anonymous mappings
- creating executable/writable file mappings
- making an executable/read-only file mapping writable except for performing relocations on an ET_DYN ELF file (non-PIC shared library)
- making a non-executable mapping executable
then does not MPROTECT prevent this first venue of attack (along with NOEXEC preventing the second venue)?