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.

Jonas Lejon

Om Jonas Lejon

En av sveriges främsta experter inom cybersäkerhet med över 20 års erfarenhet. Frågor? Kontakta mig på: [email protected] eller LinkedIn Twitter

Skriv en kommentar