1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 13:38:11 +00:00

LibELF: Disallow the DynamicLinker from linking a static-pie ELF object

The dynamic loader can't reasonably run static-pie ELF. static-pie ELFs
might run executable code that invokes syscalls outside of the defined
syscall memory executable (code) region security measure we implement.

Known examples of static-pie ELF objects are ELF packers, and the actual
system-provided dynamic loader itself.
This commit is contained in:
Liav A 2023-10-28 11:14:00 +03:00 committed by Andrew Kaster
parent 0ff977bd04
commit 69b97fe318
3 changed files with 30 additions and 1 deletions

View file

@ -183,6 +183,7 @@ void DynamicObject::parse()
case DT_DEBUG:
break;
case DT_FLAGS_1:
m_is_pie = true;
break;
case DT_NEEDED:
// We handle these in for_each_needed_library