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
- Red Hat Enterprise Linux 6 (sudo)
- Red Hat Enterprise Linux 7 (sudo)
- Red Hat Enterprise Linux Server (v. 5 ELS) (sudo)
- Oracle Enterprise Linux 6
- Oracle Enterprise Linux 7
- Oracle Enterprise Linux Server 5
- CentOS Linux 6 (sudo)
- CentOS Linux 7 (sudo)
- Debian wheezy
- Debian Jessie
- Debian stræk
- Debian side
- Ubuntu 17.04
- Ubuntu 16.10
- Ubuntu LTS 16.04
- Ubuntu LTS 14.04
- SUSE Linux Enterprise Software Development Kit 12-SP2
- SUSE Linux Enterprise Server til Raspberry Pi 12-SP2
- SUSE Linux Enterprise Server 12-SP2
- SUSE Linux Enterprise Desktop 12-SP2
- 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
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.