Taggat med: DirtyPipe

DirtyPipe – Ny allvarlig sårbarhet i Linux-kerneln

Dirtypipe - Ny allvarlig sårbarhet i Linux-kerneln

Uppdatering: Ny PoC-exploit vid namn dirtypipez från blasty som skriver över godtycklig suid-binär och sedan återställer den för att erhålla root.

Uppdatering 2: Denna sårbarhet gäller även containers. Se detta blogginlägg från Aquasec

Max Kellermann har identifierat en ny säkerhetsbrist i Linux-kerneln som medger att du kan skriva över godtycklig fil. Sårbarheten har fått CVE-2022-0847 och finns i alla Linux-kernels från version 5.8. Fixades i versionerna 5.16.11, 5.15.25 och 5.10.102. Även Android är drabbad av denna sårbarhet eftersom Android-baserade system använder sig av Linux-kerneln.

Även värt att notera så skriver Max följande:

To make this vulnerability more interesting, it not only works without write permissions, it also works with immutable files, on read-only btrfs snapshots and on read-only mounts (including CD-ROM mounts). That is because the page cache is always writable (by the kernel), and writing to a pipe never checks any permissions.

Vissa förutsättningar måste dock uppfyllas, men dessa är rätt enkla:

  • Angriparen måste ha läsrättigheter
  • Offset får inte vara på en page boundary
  • Skrivningen kan inte ske över en page boundary
  • Storleken på filen kan inte ändras

Demo på hur CVE-2022-0847 kan utnyttjas för att erhålla root på en Kali Linux-installation (privilege escalation). Detta är på en fullt patchad Kali:

Oklart dock huruvida detta fungerar med säkerhetshöjande lösningar såsom Apparmor, SELinux etc. Rekommenderar även att läsa Max intressanta write-up om hur han hittade buggen. Även finnes fungerande exploit här:

Observera att många operativsystem såsom Debian har under dagen idag måndag, åtgärdat buggen.