GNU C Library

ldd --version

GNU C Library 2.x (libc6)

GNU C Library 2.x (libc6) has a privesc exploit:

GNU C Library 2.x (libc6) - Dynamic Linker LD_AUDIT Arbitrary DSO Load Privilege Escalation

Enumeration

Exploitation

Step 1: The creation mask is inherited by children, and survives even a setuid execve. Therefore, we can influence how files are created during exploitation.

Step 2: libpcprofile is distributed with the libc package.

Step 3: We identified one of the pcprofile constructors is unsafe to run with elevated privileges, as it creates the file specified in the output environment variable.

Step 4: Setup a cronjob to give us privileges.

Step 5: Trigger the exploit and get a root shell.

Last updated

Was this helpful?