Välj Xorg X11-serverversioner är utsatta för utnyttjande av privilegier, OpenBSD och CentOS som påverkas

säkerhet / Välj Xorg X11-serverversioner är utsatta för utnyttjande av privilegier, OpenBSD och CentOS som påverkas 1 minut läst

OpenBSD-projekt



Xorg är ett mycket känt X-fönstersystem som används i Linux. Det är ett grafiskt användargränssnitt som använder X11-standarden, som i sin tur är ett kommunikationsprotokoll. Xorg gafflades från XFree86-projektet, som inte är i aktiv utveckling längre.

Privilege Escalation Exploit

Alla Xorg X11-serverversioner från 1.19.0 till 1.20.3 är utsatta för behörighetskontrollfel som finns för -modulepath och -logfile-alternativ. Detta ger okända användare med möjlighet att starta en server, att köra godtycklig kod med förhöjda behörigheter.



Forskarna fick reda på att genom att köra ett CRON-skript med den laddade exploateringen får SELinux att genomdriva det. En crontab.old backup-fil skapas, som i huvudsak ersätts av Metasploit-modulen med en ny fil med kommandon och instruktioner för cron-demon att köra. Misslyckad exploatering kan leda till en korrupt crontab. Xorg måste också ha SUID-behörigheter för att exploateringen ska fungera, vilket du kan verifiera från kodavsnittet nedan.



# Linux-kontroller
uname = cmd_exec “uname”
om uname = ~ / linux / i
vprint_status “Kör ytterligare kontroll för Linux”
om datalager [‘ConsoleLock’] användare = cmd_exec “id -un”
om det inte finns? “/ Var / run / console / # {user}”
vprint_error “Inget konsollås för # {user}”
returnera CheckCode :: Safe
slutet
vprint_good “Konsollås för # {användare}”
slutet
om selinux_installed?
om selinux_enforcing?
vprint_error 'Selinux verkställer'
returnera CheckCode :: Safe
slutet
slutet
vprint_good “Selinux är inte ett problem”
slutet

# kontroll av suidprogram
xorg_path = cmd_exec “kommando -v Xorg”
såvida inte xorg_path.include? (“Xorg”)
vprint_error “Det gick inte att hitta Xorg körbar”
returnera CheckCode :: Safe
slutet
vprint_good “Xorg-sökväg hittades vid # {xorg_path}”
om inte setuid? xorg_path
vprint_error 'Xorg binärt # {xorg_path} är inte SUID'
returnera CheckCode :: Safe
slutet
vprint_good “Xorg binärt # {xorg_path} är SUID”

Testmetodik

Detta utnyttjande arbetades av fyra forskare -

  • Narendra Shinde - Upptäck och utnyttja
  • Raptor-0xdea - Modifierad exploatering för cron
  • Aaron Ringo - Metasploit-modul
  • Brendan Coles - Metasploit-modul

Detta testades på OpenBSD 6.3, 6.4 och CentOS 7 (1708). Enligt anteckningarna på Packetstorm behöver CentOS med en standardinstallation konsolautentisering för användarens sessioner.

Detta är en allvarlig sårbarhet med tanke på omfattningen av Xorgs användning. Även om exploateringen behöver vissa förinställningar för att fungera, som kanske inte finns i en professionell miljö.

Taggar CentOS OpenBSD Xorg