Tre sårbarheder er blevet identificeret, som gør det muligt for en uprivilegeret angriber at øge deres privilegier på systemet og kør koden som root i systemd-journald, som er ansvarlig for at logge på systemd.
Sårbarheder manifest i alle distributioner, der bruger systemd, med undtagelse af SUSE Linux Enterprise 15, openSUSE Leap 15.0 og Fedora 28/29, hvor systemkomponenter er samlet med inklusion af "-fstack-clash-protection".
Hvad er sårbarheder?
Sårbarheder allerede tilmeldt CVE-2018-16864 y CVE-2018-16865 giver dig mulighed for at skabe betingelser for at skrive data uden for grænserne af den tildelte hukommelsesblok, mens sårbarhed CVE-2018-16866 gør det muligt at læse indholdet af de eksterne hukommelsesområder.
Forskere har udarbejdet en fungerende prototype af udnyttelsen at bruge sårbarhederne CVE-2018-16865 og CVE-2018-16866.
Hvad er detaljeret om disse sårbarheder forskerne Vi får at vide, at dette tillader root-privilegier efter cirka 10 minutters angreb på systemer med i386-arkitektur og 70 minutter på amd64-systemer.
Denne udnyttelse er blevet testet på Debian 9.5.
De forklarer også, at:
Når en udnyttelse er skrevet, Stack Сlash-teknikken bruges, hvis essens er at skabe betingelser, når indholdet af den overfyldte bunke er i stabelområdet eller omvendt kan stakken omskrive bunkeområdet.
Hvilket viser sig i situationer, hvor stakken og heapen er placeret ved siden af hinanden (stackområdet følger umiddelbart efter den hukommelse, der er allokeret til heapen).
Den foreslåede udnyttelse bekræfter antagelsen om, at beskyttelse mod angreb fra Stack Сlash-klassen på Linux Kernel-niveau ikke er tilstrækkelig.
Samtidig blokeres angrebet med succes ved at genopbygge GCC med "-fstack-clash-protection"-indstillingen aktiveret.
Om sårbarheder
Sårbarhed CVE-2018-16864 blev opdaget efter at have analyseret situationen, hvor overførslen af applikationer, der gemmer data til loggen via et opkald til syslog(), fører et stort antal kommandolinjeargumenter (adskillige megabyte) til et nedbrud af systemd-journald-processen.
Analysen viste, at ved at manipulere en streng med kommandolinjeargumenter, kan en kontrolleret stakkø placeres i begyndelsen af stakken.
Men for et vellykket angreb er det nødvendigt at omgå stack guard-sidebeskyttelsesteknikken, der bruges i kernen., hvis essens er i udskiftningen af hukommelsessider med grænser. at rejse en undtagelse (sidefejl).
At omgå denne parallelle beskyttelse systemd-journald starter i "race tilstand”, hvilket giver tid til at fange kontrolprocessen, der går ned på grund af indtastning i sidehukommelsen, skrivebeskyttet.
I processen med at studere den første sårbarhed opstod der yderligere to problemer.
Den anden sårbarhed CVE-2018-16865 giver dig mulighed for at skabe Stack Сlash-overlejringsbetingelser lignende ved at skrive en meget stor besked til run/systemd/journal/socket.
Den tredje sårbarhed CVE-2018-16866 manifesterer sig, hvis den sender en syslog-meddelelse med det sidste tegn ":".
På grund af en fejl i strengparsing, vil den afsluttende streng '\0' derefter blive kasseret, og loggen vil indeholde en del af buffer uden for '\0', så du kan finde ud af stakadresser og mmap.
- CVE-2018-16864-sårbarheden har eksisteret siden april 2013 (optrådte i systemd 203), men er kun egnet til drift efter ændringen til systemd 230 i februar 2016.
- CVE-2018-16865-sårbarheden har været synlig siden december 2011 (systemd 38) og er tilgængelig til drift fra april 2013 (systemd 201).
- Problemer CVE-2018-16864 og CVE-2018-16865 blev rettet for et par timer siden i systemd-mastergrenen.
CVE-2018-16866-sårbarheden dukkede op i juni 2015 (systemd 221) og blev rettet i august 2018 (ikke vist i systemd 240).
Frigivelsen af en fungerende udnyttelse er blevet udskudt indtil udgivelsen af patches af distributioner.
I øjeblikket er distributionerne af sårbarheder, der endnu ikke er rettet, de mest populære, såsom Debian, Ubuntu, RHEL, Fedora, SUSE, såvel som deres derivater.
systemd stinker!
init frihed… yeah!!!!