Flere sårbarheder fundet i Waylands genvejsmanager

For et par dage siden blev nyheden frigivet en række sårbarheder blev fundet i swhkd (Simple Wayland HotKey Daemon) forårsaget af forkert håndtering af midlertidige filer, kommandolinjeindstillinger og unix-sockets.

Programmet er skrevet i Rust og håndterer genvejstaster i miljøer baseret på Wayland-protokollen (en konfigurationsfil-kompatibel analog af sxhkd-processen, der bruges i X11-baserede miljøer). Pakken inkluderer en uprivilegeret swhks-proces, der udfører genvejstasthandlinger og en swhkd-baggrundsproces, der kører som root og interagerer med input-enheder på uinput API-niveau. For at organisere samspillet mellem swhks og swhkd, bruges en Unix socket.

Polkits regler tillader enhver lokal bruger at køre /usr/bin/swhkd processen som root og videregive den vilkårlige parametre.

RPM-pakkeintegration udgivet til openSUSE Tumbleweed indeholdt usædvanlige Polkit-regler i definitionsfil, der krævede en gennemgang af SUSE-sikkerhedsteamet.

Som et resultat af gennemgangen blev der identificeret flere sikkerhedsproblemer. De enkelte problemer er beskrevet i den følgende detaljerede rapport.

Af sårbarheder, der blev identificeret, er følgende nævnt:

CVE-2022-27815

Denne sårbarhed gør det muligt at gemme en proces-PID i en fil med et forudsigeligt navn og i en mappe, som andre brugere kan skrive til (/tmp/swhkd.pid), så enhver bruger kan oprette en fil /tmp/swhkd.pid og indsætte pid'en for en eksisterende proces i den, hvilket gør det umuligt at starte swhkd.

I mangel af beskyttelse mod at skabe symbolske links i /tmp, sårbarheden kan bruges til at oprette eller overskrive filer i en hvilken som helst mappe på systemet (PID'et skrives til filen) eller bestemme indholdet af enhver fil på systemet (swhkd udsender hele indholdet af PID-filen til stdout). Det skal bemærkes, at i den frigivne rettelse blev PID-filen ikke flyttet til /run-mappen, men til /etc-mappen (/etc/swhkd/runtime/swhkd_{uid}.pid), hvor den heller ikke hører hjemme.

CVE-2022-27814

Denne sårbarhed giver dig mulighed for at manipulere "-c" kommandolinjeindstillingen for at angive en konfigurationsfil kan bestemme eksistensen af ​​enhver fil på systemet.

Ligesom i tilfældet med den første sårbarhed er det forvirrende at løse problemet: at løse problemet bunder i, at det eksterne værktøj "cat" ('Command::new("/bin/cat").arg(path) nu startes for at læse konfigurationsfilen.output()').

CVE-2022-27819

Dette problem det er også relateret til brugen af ​​"-c"-indstillingen, som indlæser og analyserer hele konfigurationsfilen uden at kontrollere størrelsen og typen af ​​filen.

For at forårsage et lammelsesangreb på grund af at løbe tør for ledig hukommelse og skabe parasitisk I/O, kan du angive en blokenhed ved opstart ("pkexec /usr/bin/swhkd -d -c /dev/sda") eller en karakterenhed, der udsender en uendelig strøm af data.

Problemet blev løst ved at nulstille rettighederne før åbning af filen, men løsningen var ikke komplet, da kun bruger-id'et (UID) nulstilles, men gruppe-id'et (GID) forbliver det samme.

CVE-2022-27818

Denne sårbarhed giver dig mulighed for at bruge en /tmp/swhkd.sock-fil til at oprette en Unix-socket, som er oprettet i en offentlig skrivbar mappe, hvilket forårsager lignende problemer som den første sårbarhed (enhver bruger kan oprette /tmp/swhkd. sock og generere eller fange tastetryk).

CVE-2022-27817

I denne sårbarhed, inputhændelser modtages fra alle enheder og på tværs af alle sessioner, det vil sige, at en bruger i en anden Wayland- eller konsolsession kan opsnappe begivenheder, når andre brugere trykker på genvejstaster.

CVE-2022-27816

swhks-processen, ligesom swhkd, bruger PID-filen /tmp/swhks.pid i den offentligt skrivbare /tmp-mappe. Problemet ligner den første sårbarhed, men ikke så farligt, da swhks kører under en uprivilegeret bruger.

Endelig, hvis du er interesseret i at vide mere om det, kan du konsultere detaljer i følgende link.


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for data: AB Internet Networks 2008 SL
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.