Local Privilege Escalation to Root via Sudo chroot in Linux # CVE-2025-32463
Local Privilege Escalation to Root via Sudo chroot in Linux.
# Ini Apaan Sih?
Untuk beritanya bisa baca di sini :
- https://www.helpnetsecurity.com/2025/07/01/sudo-local-privilege-escalation-vulnerabilities-fixed-cve-2025-32462-cve-2025-32463/
TL;DR dan CMIIW
Jadi, sudo itu kan perintah buat ngejalanin sebuah command sebagai admin/root. User boleh menjalankan sudo kalo dia memang masuk grup sebagai sudoers. Tapi ada sebuah bugs di binary sudo yang menjadikan user biasa tanpa permission menjalankan sudo, switch user sebagai root.
Bugnya itu ada celah pada opsi command sudo `--chroot`. Si chroot ini memungkinkan untuk menjalankan command di sebuah directory sementara. Problemnya adalah, sudo ini akan ngecheck file config di dalam directory sementara tadi, sebelum ngecek apakah si user ini boleh menjalankan sudo atau tidak.
Jika file config ini, somehow bisa kita edit dan mengarahkan ke sebuah kode yang sudah dimodifikasi untuk mendapatkan akses root, kita bisa dapat akses root tanpa harus autentikasi atau terdaftar sebagai sudoer. Karena dalam prosesnya, untuk mendapat kan informasi tersebut, sistem akan mengeskalasi perintahnya sebagai root (untuk sementara).
Apa file confignya itu? `/etc/nsswithc.conf`. File config ini dipakai oleh sistem untuk mengetahui, misalnya, user ini termasuk dalam grup apa, dan sebagainya. Di dalam file nsswitch ini kurang lebih seperti ini:
`<database> <source1> <source2> ... <sourcen>`
```
passwd files systemd
group files systemd
shadow files
gshadow files
...
```
Nah! Jika data source yang dipakai itu `files`, nss akan memanggil sebuah library yang namanya `libnss_files.so.2`. File ini berisi kode C, yang jika kita edit ini besar kemungkinan kita bisa gain akses root. Karena, sistem menjalankan ini sebagai root walaupun perintahnya bukan dijalankan oleh user sudoers. Bisa dilihat pada file `exploit.sh`
In summary :
- buat file config palsu, yaitu `/etc/nsswitch.conf` di folder yang kita kontrol.
- pakai chroot untuk mengarahkan sudo ke folder tadi.
- buat sudo meload library yang sudah disusupi kode untuk mendapatkan akses root.
# POC

[4.0K] /data/pocs/9e2afed89d532199b465b6af1cb39be79c0e057f
├── [ 637] exploit.sh
├── [4.0K] img
│ └── [ 74K] poc.png
└── [2.1K] README.md
1 directory, 3 files