Verschillende kwetsbaarheden gevonden in de sneltoetsmanager van Wayland

Een paar dagen geleden kwam het nieuws naar buiten dat een aantal kwetsbaarheden gevonden in swhkd (Simple Wayland HotKey Daemon) veroorzaakt door onjuiste behandeling van tijdelijke bestanden, opdrachtregelopties en unix-sockets.

Het programma is geschreven in Rust en verwerkt sneltoetsen in omgevingen die zijn gebaseerd op het Wayland-protocol (een configuratiebestand-compatibele analoog van het sxhkd-proces dat wordt gebruikt in op X11 gebaseerde omgevingen). Het pakket bevat een niet-geprivilegieerd swhks-proces dat acties uitvoert voor sneltoetsen en een swhkd-achtergrondproces dat als root wordt uitgevoerd en communiceert met invoerapparaten op het uinput-API-niveau. Om de interactie tussen swhks en swhkd te organiseren, wordt een Unix-socket gebruikt.

De regels van Polkit staan ​​elke lokale gebruiker toe om het /usr/bin/swhkd-proces als root uit te voeren en er willekeurige parameters aan door te geven.

De integratie van het RPM-pakket ingediend voor openSUSE Tumbleweed bevatte ongebruikelijke Polkit-regels in de definitiebestand dat een beoordeling door het SUSE-beveiligingsteam vereiste.

Als resultaat van de beoordeling zijn meerdere beveiligingsproblemen vastgesteld. In het onderstaande gedetailleerde rapport worden individuele problemen beschreven.

Van de kwetsbaarheden die werden geïdentificeerd, worden genoemd:

CVE-2022-27815

Deze kwetsbaarheid maakt het mogelijk om een ​​proces-PID op te slaan in een bestand met een voorspelbare naam en in een beschrijfbare map voor andere gebruikers (/tmp/swhkd.pid), waarbij elke gebruiker een /tmp/swhkd.pid-bestand kan maken en de pid van een bestaand proces erin kan plaatsen, waardoor het onmogelijk wordt om swhkd te starten.

Bij afwezigheid van bescherming tegen het maken van symbolische links in /tmp, de kwetsbaarheid kan worden gebruikt om bestanden te maken of te overschrijven in een willekeurige map op het systeem (de PID wordt naar het bestand geschreven) of de inhoud van een bestand op het systeem bepalen (swhkd voert de volledige inhoud van het PID-bestand uit naar stdout). Opgemerkt moet worden dat in de vrijgegeven fix het PID-bestand niet naar de /run-directory is verplaatst, maar naar de /etc-directory (/etc/swhkd/runtime/swhkd_{uid}.pid), waar het ook niet thuishoort .

CVE-2022-27814

Deze kwetsbaarheid stelt u in staat om de "-c" opdrachtregeloptie te manipuleren om een ​​configuratiebestand op te geven kan het bestaan ​​van een bestand op het systeem bepalen.

Net als in het geval van de eerste kwetsbaarheid, is het oplossen van het probleem een ​​raadsel: het probleem oplossen komt erop neer dat het externe "cat"-hulpprogramma ('Command::new("/bin/cat").arg(path) is nu gelanceerd om het configuratiebestand.output()' te lezen.

CVE-2022-27819

Dit probleem het is ook gerelateerd aan het gebruik van de "-c" optie, die het volledige configuratiebestand laadt en parseert zonder de grootte en het type van het bestand te controleren.

Om bijvoorbeeld een denial of service te veroorzaken vanwege onvoldoende geheugen en het creëren van verdwaalde I/O, kunt u bij het opstarten een blokapparaat specificeren ("pkexec /usr/bin/swhkd -d -c /dev/sda ») of een karakterapparaat dat een oneindige stroom gegevens uitzendt.

Het probleem is opgelost door de privileges opnieuw in te stellen voordat het bestand werd geopend, maar de oplossing was niet compleet omdat alleen de gebruikers-ID (UID) opnieuw wordt ingesteld, maar de groeps-ID (GID) hetzelfde blijft.

CVE-2022-27818

Deze kwetsbaarheid stelt u in staat om een ​​/tmp/swhkd.sock-bestand te gebruiken om een ​​Unix-socket te maken, die is gemaakt in een openbare beschrijfbare map en vergelijkbare problemen veroorzaakt als de eerste kwetsbaarheid (elke gebruiker kan /tmp/swhkd.sock maken en toetsaanslagen genereren of onderscheppen).

CVE-2022-27817

In deze kwetsbaarheid invoergebeurtenissen worden ontvangen van alle apparaten en in alle sessies, dat wil zeggen, een gebruiker in een andere Wayland- of consolesessie kan gebeurtenissen onderscheppen wanneer andere gebruikers op sneltoetsen drukken.

CVE-2022-27816

Het swhks-proces gebruikt, net als swhkd, het PID-bestand /tmp/swhks.pid in de openbaar beschrijfbare /tmp-directory. Het probleem is vergelijkbaar met het eerste beveiligingslek, maar niet zo gevaarlijk, aangezien swhks wordt uitgevoerd onder een niet-bevoorrechte gebruiker.

Tot slot, als u er meer over wilt weten, kunt u de details in de volgende link:.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: AB Internet Networks 2008 SL
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.