DynamoRIO / DynamoRIO/drmemory

Umbra Linux library bounds are incorrect

Open
#1,889 0 comments 0 reactions 0 assignees View on GitHub
Component-Framework Hotlist-Release OpSys-Linux
Dominant language
C
Stars
2.7k
Forks
290
PR merge metrics
No merged PRs in 30d

Description

Umbra claims that 64-bit libraries go here:

app3: [0x00007F00'00000000, 0x00008000'00000000): lib, map, stack, vdso

Yet the ASLR's range is up to 1<<40 which is 0x100'00000000. This means we can see 0x7e00'00000000 addresses on occasion, which is confirmed by running something like this a few times:

```
for ((i=0; i<100; i++)); do echo $i; grep '^7e' /proc/self/maps; done
```

Moving the app region back to 0x7e00' means the 0 scale shadow is 0x2000' and its shadow is then 0x1200' and we now violate the shadow(shadow)) property -- so the fix will not be trivial.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.