Veikleikar í swhkd, flýtileiðastjóra fyrir Wayland

Röð veikleika hefur verið auðkennd í swhkd (Simple Wayland HotKey Daemon) af völdum rangrar vinnu með tímabundnar skrár, skipanalínubreytur og Unix fals. Forritið er skrifað í Rust og sér um að ýta á flýtihnappa í umhverfi sem byggir á Wayland-samskiptareglunum (samhæfð stillingarskrár hliðstæða sxhkd ferlisins sem notuð er í X11-undirstaða umhverfi).

Pakkinn inniheldur óforréttinda swhks ferli sem framkvæmir flýtilyklaaðgerðir og bakgrunns swhkd ferli sem keyrir sem rót og hefur samskipti við inntakstæki á uinput API stigi. Unix fals er notað til að skipuleggja samspil swhks og swhkd. Með því að nota Polkit reglur getur hver staðbundinn notandi keyrt /usr/bin/swhkd ferlið sem rót og sent handahófskenndar færibreytur til þess.

Greind veikleika:

  • CVE-2022-27815 – Vista PID ferli í skrá með fyrirsjáanlegu nafni og í möppu sem aðrir notendur geta skrifað (/tmp/swhkd.pid). Hvaða notandi sem er getur búið til skrá /tmp/swhkd.pid og sett pid núverandi ferlis í hana, sem gerir swhkd ófær um að byrja. Ef það er engin vörn gegn því að búa til táknræna tengla í /tmp, er hægt að nota varnarleysið til að búa til eða skrifa yfir skrár í hvaða kerfisskrá sem er (PID er skrifað í skrána) eða ákvarða innihald hvaða skráar sem er á kerfinu (swhkd prentar út allt innihald PID skráarinnar til stdout). Það er athyglisvert að í útgefnu lagfæringunni var PID skráin ekki færð í /run möppuna, heldur í /etc möppuna (/etc/swhkd/runtime/swhkd_{uid}.pid), þar sem hún á heldur ekki heima.
  • CVE-2022-27814 – Með því að nota „-c“ skipanalínuvalkostinn sem notaður er til að tilgreina stillingarskrá er hægt að ákvarða tilvist hvaða skrá sem er á kerfinu. Til dæmis, til að athuga /root/.somefile geturðu keyrt „pkexec /usr/bin/swhkd -d -c /root/.somefile“ og ef skrána vantar, er villan „/root/.somefile ekki til. “ birtist. Eins og í tilviki fyrsta varnarleysis, þá er ráðgáta að laga vandamálið - að laga vandamálið snýst um þá staðreynd að ytri tólið „köttur“ ('Command::new(“/bin/cat“)).arg(path) er nú ræst til að lesa stillingarskrána. output()').
  • CVE-2022-27819 – Málið tengist einnig notkun „-c“ valmöguleikans, sem veldur því að öll stillingarskráin er hlaðin og þáttuð án þess að athuga stærð og gerð skráarinnar. Til dæmis, til að valda afneitun á þjónustu með því að klára laust minni og búa til falskt I/O, geturðu tilgreint blokkunartæki við ræsingu ("pkexec /usr/bin/swhkd -d -c /dev/sda") eða stafatæki sem framleiðir óendanlegan straum af gögnum. Vandamálið var leyst með því að endurstilla réttindin áður en skráin var opnuð, en lagfæringunni var ekki lokið, þar sem aðeins notandaauðkenni (UID) er endurstillt, en hópauðkenni (GID) er óbreytt.
  • CVE-2022-27818 – Unix fals er búin til með því að nota /tmp/swhkd.sock skrána sem er búin til í skrifanlegri skrá, sem leiðir til svipaðra vandamála og fyrsta varnarleysið (hver notandi getur búið til /tmp/swhkd.sock og búið til eða stöðvað takkapressa atburði).
  • CVE-2022-27817 - Tekið er við inntaksviðburðum frá öllum tækjum og í öllum lotum, þ.e. notandi frá annarri Wayland lotu eða frá stjórnborðinu getur stöðvað atburði þegar flýtilyklar eru ýttir á af öðrum notendum.
  • CVE-2022-27816 swhks ferlið, eins og swhkd, notar PID skrána /tmp/swhks.pid í skrifanlegu /tmp skránni. Vandamálið er svipað og fyrsta varnarleysið, en er ekki eins hættulegt vegna þess að swhks er í gangi undir óforréttindum notanda.

Heimild: opennet.ru

Bæta við athugasemd