Pronađena je ranjivost u systemd-u koja je već opisana u (CVE-2019-6454), što omogućuje blokiranje procesa inicijalizacije upravljanja (PID1) prilikom slanja posebno izrađene poruke neprivilegiranom korisniku putem D-Bus-a.
The Programeri Red Hat-a također ne isključuju mogućnost korištenja ranjivosti za organiziranje izvršavanja koda s root privilegijama., ali konačna mogućnost takvog napada još nije utvrđena.
O sustavu
Za one koji ne poznaju Systemd To vam mogu reći ovo je linux sustav za inicijalizaciju i upravitelj usluga što uključuje značajke kao što su pokretanje demona na zahtjev, održavanje automatskog montiranja i točke montiranja, podrška za snimke i praćenje procesa pomoću Linux kontrolnih grupa.
Systemd pruža demon registra i druge alate i uslužne programe koji pomažu u uobičajenim zadacima administracije sustava. Lennart Poettering i Kay Sievers napisali su SystemD, nadahnuti macOS-om launchd i Upstart, s ciljem stvaranja modernog i dinamičnog sustava.
Konkretno, systemd pruža agresivne mogućnosti paralelizacije i logiku upravljanja uslugama temeljenu na ovisnosti, omogućujući paralelno pokretanje usluga i vodeći bržim vremenima pokretanja. Ta su dva aspekta bila prisutna u Upstartu, ali ih je systemd poboljšao.
Systemd je zadani sustav pokretanja za glavne distribucije Linuxa, ali je unatrag kompatibilan sa skriptama za pokretanje SysV.
SysVinit je sustav inicijalizacije koji prethodi systemd-u i koristi pojednostavljeni pristup za pokretanje usluge. Systemd ne samo da upravlja inicijalizacijom sustava, već također nudi alternative drugim poznatim uslužnim programima kao što su cron i syslog.
O novoj ranjivosti systemd
Manipuliranjem veličinom poruke poslane putem D-sabirnice, napadač može pomaknuti pokazivač izvan granica memorije dodijeljene za stog, zaobilazeći zaštitu "stranice zaštitnika stoga", koja se temelji na zamjeni memorijske stranice na rubu koja poziva na iznimku (pogreška stranice).
Uspješan napad demonstriran je na Ubuntu 18.10 sa systemd 239 i na CentOS 7.6 sa systemd 219.
Kao zaobilazno rješenje, kompilacija se može koristiti u GCC-u s opcijom "-fstack-clash-protection", koja se prema zadanim postavkama koristi u Fedori 28 i 29.
Valja napomenuti da je 2014. godine autor knjižnice sustava MUSL među glavnim arhitektonskim problemima istaknuo sistemsku obradu prekomjerne inflacije i doveo u pitanje izvedivost uvođenja API-ja PID1 nivoa kontrolera za vezu do sabirnice, jer je to ozbiljan vektor za napade i može negativno utjecati na pouzdanost cijelog sustava
Prema istraživaču sigurnosti koji otkrila je ranjivost, promjena pokazivača stoga moguća je samo za nekorištene memorijske stranice (neraspoređeno), što ne dopušta organiziranje izvršavanja koda u kontekstu PID1 procesa, ali napadaču omogućuje pokretanje PID1 zaključavanja s naknadnim prijelazom Linux jezgre u stanje "panike" Kvar PID regulatora 1, cijeli sustav visi).
U systemd je instaliran rukovatelj signalom koji pokušava zarobiti greške procesa PID1 (greška segmentacije) i pokreće ljusku za oporavak.
Ali budući da se tijekom napada pozivaju nedvostručene (neraspoređene) memorijske stranice, kernel ne može nazvati ovaj rukovatelj signalom i samo završava postupak s PID 1, što zauzvrat čini Nemoguće je nastaviti raditi i preći u stanje "panike", pa je potrebno ponovno pokretanje sustava.
Već postoji rješenje problema
Kao i bilo koji sigurnosni problem koji je već opisan i prijavljen, njegova se objava ne može objaviti dok problem nije riješen i ažuriranja zakrpe za ranjivost za SUSE / openSUSE, Fedora su već izdane, također za Ubuntu i djelomično za Debian (Samo Debian Stretch).
Iako problem ostaje neispravljen u RHEL-u.