Vælg Xorg X11-serverversioner er sårbare over for privilegerede eskaleringsudnyttelser, OpenBSD og CentOS påvirket

Sikkerhed / Vælg Xorg X11-serverversioner er sårbare over for privilegerede eskaleringsudnyttelser, OpenBSD og CentOS påvirket 1 minut læst

OpenBSD-projekt



Xorg er et meget berømt X-vinduessystem, der bruges i Linux. Det er en grafisk brugergrænseflade, der bruger X11-standarden, som igen er en kommunikationsprotokol. Xorg blev forked fra XFree86-projektet, som ikke længere er i aktiv udvikling.

Udnyttelse af privilegiereskalering

Alle Xorg X11-serverversioner fra 1.19.0 til 1.20.3 er sårbare over for fejl i tilladelseskontrol, der findes for -modulepath og -logfile-muligheder. Dette giver privilegerede brugere muligheden for at starte en server, til at køre vilkårlig kode med forhøjede privilegier.



Forskerne fandt ud af, at kørsel af et CRON-script med den indlæste udnyttelse får SELinux til at håndhæve det. En crontab.old backup-fil oprettes, som i det væsentlige erstattes af Metasploit-modulet med en ny fil med kommandoer og instruktioner til cron-dæmonen at udføre. Mislykket udnyttelse kan resultere i en beskadiget crontab. Xorg skal også have SUID-tilladelser for at udnyttelsen kan fungere, hvilket du kan bekræfte fra nedenstående kodestykke.



# linux kontrollerer
uname = cmd_exec “uname”
hvis uname = ~ / linux / i
vprint_status “Kører yderligere kontrol for Linux”
hvis datalager [‘ConsoleLock’] bruger = cmd_exec “id -un”
medmindre eksisterer? “/ Var / run / console / # {user}”
vprint_error “Ingen konsollås til # {bruger}”
returner CheckCode :: Safe
ende
vprint_good “Konsollås til # {bruger}”
ende
hvis selinux_installeret?
hvis selinux_enforcing?
vprint_error 'Selinux håndhæver'
returner CheckCode :: Safe
ende
ende
vprint_good “Selinux er ikke et problem”
ende

# kontrol af suidprogram
xorg_path = cmd_exec “kommando -v Xorg”
medmindre xorg_path.include? (“Xorg”)
vprint_error “Kunne ikke finde Xorg eksekverbar”
returner CheckCode :: Safe
ende
vprint_good “Xorg-sti fundet ved # {xorg_path}”
medmindre setuid? xorg_path
vprint_error “Xorg binær nr. {xorg_path} er ikke SUID”
returner CheckCode :: Safe
ende
vprint_good “Xorg binær nr. {xorg_path} er SUID”

Testmetode

Denne udnyttelse blev arbejdet med af fire forskere -

  • Narendra Shinde - Opdag og udnyt
  • Raptor-0xdea - Modificeret udnyttelse til cron
  • Aaron Ringo - Metasploit-modul
  • Brendan Coles - Metasploit-modul

Dette blev testet på OpenBSD 6.3, 6.4 og CentOS 7 (1708). I henhold til noterne om Packetstorm skal CentOS med en standardinstallation have brug for konsolgodkendelse til brugerens sessioner.

Dette er en alvorlig sårbarhed i betragtning af omfanget af Xorgs brug. Selvom udnyttelsen har brug for nogle forudindstillinger for at fungere, som muligvis ikke findes i et professionelt miljø.

Mærker CentOS OpenBSD Xorg