Selectați versiunile serverului Xorg X11 sunt vulnerabile la privilegii de exploatare a escaladei, OpenBSD și CentOS afectate

Securitate / Selectați versiunile serverului Xorg X11 sunt vulnerabile la privilegii de exploatare a escaladei, OpenBSD și CentOS afectate 1 minut citit

Proiect OpenBSD



Xorg este un sistem de ferestre X foarte renumit utilizat în Linux. Este o interfață grafică de utilizator care utilizează standardul X11, care la rândul său este un protocol de comunicație. Xorg a fost extras din proiectul XFree86, care nu mai este în dezvoltare activă.

Exploitarea escaladei de privilegii

Toate versiunile de server Xorg X11 de la 1.19.0 până la 1.20.3 sunt vulnerabile la defectele de verificare a permisiunii care există pentru opțiunile -modulepath și -logfile. Acest lucru oferă utilizatorilor fără privilegii posibilitatea de a porni un server, de a rula cod arbitrar cu privilegii ridicate.



Cercetătorii au aflat că executarea unui script CRON cu exploit-ul încărcat face ca SELinux să-l aplice. Se creează un fișier de rezervă crontab.old, care este înlocuit în mod esențial cu modulul Metasploit cu un fișier nou cu comenzi și instrucțiuni pentru ca demonul cron să fie executat. Exploatarea nereușită ar putea duce la o crontab coruptă. De asemenea, Xorg trebuie să aibă permisiuni SUID pentru ca exploit-ul să funcționeze, pe care îl puteți verifica din fragmentul de cod de mai jos.



# verificări Linux
uname = cmd_exec „uname”
if uname = ~ / linux / i
vprint_status „Se execută verificare suplimentară pentru Linux”
dacă datastore [‘ConsoleLock’] user = cmd_exec „id -un”
dacă nu există? „/ Var / run / console / # {user}”
vprint_error „Fără blocare consolă pentru # {user}”
returnează CheckCode :: Safe
Sfârșit
vprint_good „Blocarea consolei pentru # {user}”
Sfârșit
dacă selinux_instalat?
dacă selinux_enforcing?
vprint_error „Selinux aplică”
returnează CheckCode :: Safe
Sfârșit
Sfârșit
vprint_good „Selinux nu este o problemă”
Sfârșit

# verificare program suid
xorg_path = cmd_exec „comanda -v Xorg”
cu excepția cazului în care xorg_path.include? („Xorg”)
vprint_error „Nu s-a putut găsi executabilul Xorg”
returnează CheckCode :: Safe
Sfârșit
vprint_good „Calea Xorg a fost găsită la # {xorg_path}”
dacă nu setuid? xorg_path
vprint_error „Binarul Xorg # {xorg_path} nu este SUID”
returnează CheckCode :: Safe
Sfârșit
vprint_good „Binarul Xorg # {xorg_path} este SUID”

Metodologia de testare

Acest exploit a fost lucrat de patru cercetători -

  • Narendra Shinde - Descoperire și exploatare
  • Raptor-0xdea - Exploat modificat pentru cron
  • Aaron Ringo - Modul Metasploit
  • Brendan Coles - Modul Metasploit

Acest lucru a fost testat pe OpenBSD 6.3, 6.4 și CentOS 7 (1708). Conform notelor de pe Packetstorm, CentOS cu instalare implicită va avea nevoie de autentificare pe consolă pentru sesiunile utilizatorului.

Aceasta este o vulnerabilitate gravă, având în vedere amploarea utilizării Xorg. Deși exploit-ul are nevoie de anumite presetări pentru a funcționa, care ar putea să nu fie prezente într-un mediu profesional.

Etichete CentOS OpenBSD Xorg