Izbrane različice strežnika Xorg X11 so ranljive za privilegirane pospeševalne podvige, na OpenBSD in CentOS

Varnost / Izbrane različice strežnika Xorg X11 so ranljive za privilegirane pospeševalne podvige, na OpenBSD in CentOS 1 minuto branja

Projekt OpenBSD



Xorg je zelo znan sistem oken X, ki se uporablja v Linuxu. Gre za grafični uporabniški vmesnik, ki uporablja standard X11, kar pa je komunikacijski protokol. Xorg je bil razcepljen iz projekta XFree86, ki ni več v aktivnem razvoju.

Privilege Escalation Exploit

Vse različice strežnika Xorg X11 od 1.19.0 do 1.20.3 so ranljive za napake pri preverjanju dovoljenj, ki obstajajo za možnosti -modulepath in -logfile. To daje privilegiranim uporabnikom možnost, da zaženejo strežnik in zaženejo poljubno kodo z visokimi privilegiji.



Raziskovalci so ugotovili, da izvajanje skripte CRON z naloženim izkoriščanjem omogoča, da ga SELinux uveljavi. Ustvari se varnostna datoteka crontab.old, ki jo modul Metasploit v bistvu nadomesti z novo datoteko z ukazi in navodili za izvajanje demona cron. Neuspešno izkoriščanje lahko povzroči poškodovan crontab. Xorg mora imeti tudi dovoljenja SUID za delovanje exploita, kar lahko preverite v spodnjem delčku kode.



# preverjanja linuxa
uname = cmd_exec “uname”
če uname = ~ / linux / i
vprint_status “Izvajanje dodatnega preverjanja za Linux”
if datastore [‘ConsoleLock’] user = cmd_exec “id -un”
razen če obstajajo? “/ Var / run / console / # {user}”
vprint_error “Ni zaklepanja konzole za # {uporabnika}”
vrni CheckCode :: Safe
konec
vprint_good “Zaklepanje konzole za # {uporabnika}”
konec
če je selinux_installed?
če selinux_enforcing?
vprint_error 'Selinux uveljavlja'
vrni CheckCode :: Safe
konec
konec
vprint_good “Selinux ni težava”
konec

# preverjanje programa suid
xorg_path = cmd_exec “command -v Xorg”
razen če xorg_path.include? (“Xorg”)
vprint_error “Ne morem najti izvršljive datoteke Xorg”
vrni CheckCode :: Safe
konec
vprint_good “Pot Xorg najdena na # {xorg_path}”
razen če je setuid? xorg_path
vprint_error “Xorg binarni # {xorg_path} ni SUID”
vrni CheckCode :: Safe
konec
vprint_good “Xorg binarni # {xorg_path} je SUID”

Metodologija preskušanja

Na tem podvigu so delali štirje raziskovalci -

  • Narendra Shinde - Odkritje in izkoriščanje
  • Raptor-0xdea - Prilagojeni podvig za cron
  • Aaron Ringo - Modul Metasploit
  • Brendan Coles - Modul Metasploit

To je bilo preizkušeno na OpenBSD 6.3, 6.4 in CentOS 7 (1708). V skladu z opombami o Packetstorm bo CentOS s privzeto namestitvijo potreboval preverjanje pristnosti konzole za seje uporabnika.

To je resna ranljivost glede na obseg uporabe Xorga. Čeprav exploit za delovanje potrebuje nekatere prednastavitve, ki v profesionalnem okolju morda niso prisotne.

Oznake CentOS OpenBSD Xorg