Linux sikkerhedsalarm: Fejl i sudo's get_process_ttyname () [CVE-2017-1000367]

CVE-2017-1000367
Der er en alvorlig sårbarhed i sudo-kommandoen, der giver root adgang til alle med en shell-konto. Det fungerer på SELinux aktiverede systemer som CentOS / RHEL og andre også. En lokal bruger med rettigheder til at udføre kommandoer via sudo kunne bruge denne fejl til at eskalere deres rettigheder til root. Patch dit system så hurtigt som muligt.
Det blev opdaget, at Sudo ikke korrekt analyserede indholdet af / proc / [pid] / stat, når man forsøgte at bestemme sin styrende tty. En lokal angriber i nogle konfigurationer kan muligvis bruge dette til at overskrive nogen fil på filsystemet, omgå de påtænkte tilladelser eller få root shell.
Fra beskrivelse:

Vi opdagede en sårbarhed i Sudos get_process_ttyname () til Linux:
Denne funktion åbner "/ proc / [pid] / stat" (man proc) og læser enhedens nummer på tty fra feltet 7 (tty_nr). Desværre er disse felter adskilt i rummet og felt 2 (komm, filnavnet på kommandoen) kan
indeholder mellemrum (CVE-2017-1000367).

For eksempel, hvis vi udfører Sudo gennem symlinken "./ 1", får_process_ttyname () opkald sudo_ttyname_dev () for at søge efter det ikke-eksisterende tty-enhedsnummer "1" i den indbyggede search_devs [].

Dernæst kalder sudo_ttyname_dev () funktionen sudo_ttyname_scan () for at søge efter dette ikke-eksisterende tty-enhedsnummer "1" i en bredde-første kryds af "/ dev".

Sidst, vi udnytter denne funktion under dens omkreds af den verdensskrivbare "/ dev / shm": gennem denne sårbarhed kan en lokal bruger lade som om, at hans tty er en hvilken som helst tegn enhed på filsystemet, og
efter to løbsbetingelser kan han lade som om, at hans tty er en fil på filsystemet.

På et SELinux-aktiveret system, hvis en bruger er Sudoer for en kommando, der ikke giver ham fuld root privilegier, kan han overskrive enhver fil på filsystemet (herunder root-ejede filer) med sin kommandos output,
fordi relabel_tty () (i src / selinux.c) kalder op (O_RDWR | O_NONBLOCK) på hans tty og dup2 () s det til kommandos stdin, stdout og stderr. Dette gør det muligt for enhver Sudoer-bruger at få fuld root-privilegier.

En liste over berørte Linux distro

  1. Red Hat Enterprise Linux 6 (sudo)
  2. Red Hat Enterprise Linux 7 (sudo)
  3. Red Hat Enterprise Linux Server (v. 5 ELS) (sudo)
  4. Oracle Enterprise Linux 6
  5. Oracle Enterprise Linux 7
  6. Oracle Enterprise Linux Server 5
  7. CentOS Linux 6 (sudo)
  8. CentOS Linux 7 (sudo)
  9. Debian wheezy
  10. Debian Jessie
  11. Debian stræk
  12. Debian side
  13. Ubuntu 17.04
  14. Ubuntu 16.10
  15. Ubuntu LTS 16.04
  16. Ubuntu LTS 14.04
  17. SUSE Linux Enterprise Software Development Kit 12-SP2
  18. SUSE Linux Enterprise Server til Raspberry Pi 12-SP2
  19. SUSE Linux Enterprise Server 12-SP2
  20. SUSE Linux Enterprise Desktop 12-SP2
  21. OpenSuse, Slackware og Gentoo Linux

Hvordan laver jeg sudo på Debian / Ubuntu Linux server?

At patchere Ubuntu / Debian Linux apt-get kommando or apt kommando:
$ sudo apt opdatering $ sudo apt opgradering

Fig. 01: Opdatering af min sudo-version
Fig. 01: Opdatering af min sudo-version

Hvordan laver jeg sudo på CentOS / RHEL / Scientific / Oracle Linux server?

Kør yum kommandoen:
$ sudo yum opdatering

Hvordan laver jeg sudo på Fedora Linux server?

Kør dnf-kommando:
$ sudo dnf opdatering

Hvordan laver jeg sudo på SUSE / OpenSUSE Linux server?

Kør zypper kommando:
$ sudo zypper opdatering

Hvordan laver jeg sudo på Arch Linux server?

Kør pacman-kommando:
$ sudo pacman -Syu

Hvordan laver jeg sudo på Alpine Linux server?

Kør apk kommando:
# apk opdatering && apk opgradering

Hvordan laver jeg sudo på Slackware Linux server?

Kør opgraderingspkg-kommando:
# upgradepkg sudo-1.8.20p1-i586-1_slack14.2.txz

Hvordan laver jeg sudo på Gentoo Linux server?

Kør kommandoen kommando:
# emerge --sync # emerge --ask --oneshot --verbose "> = app-admin / sudo-1.8.20_p1"

For mere information besøg Fejlrapport: Mulig overskrivning af vilkårlig filer på Linux.

Kilde

Giv en kommentar

Dette websted bruger Akismet til at reducere spam. Lær, hvordan dine kommentardata behandles.