Vulnerabilitetet në swhkd, menaxher i çelësve të nxehtë për Wayland

Në swhkd (Simple Wayland HotKey Daemon) janë zbuluar një seri vulnerabilitetesh të shkaktuara nga trajtimi i papërshtatshëm i skedarëve të përkohshëm, parametrave të linjës së komandës dhe unix-socket-ëve. Programi është shkruar në gjuhën Rust dhe përpunon shtypjet e tasteve në ambientet e bazuara në protokollin Wayland (i përputhshëm në nivelin e skedarëve të konfigurimit me procesin sxhkd, i përdorur në ambientet e bazuara në X11).

Paketa përfshin një proces jo të privilegjuar swhks, i cili kryen veprimet për taste të nxehta, dhe një proces sfondor swhkd, i cili ekzekutohet me të drejta root dhe ndikon me pajisjet e hyrjes në nivelin e API-së uinput. Për të organizuar ndërveprimin mes swhks dhe swhkd përdoret një Unix-socket. Me anë të rregullave Polkit, çdo përdorues lokal ka mundësinë të nisin procesin /usr/bin/swhkd me të drejta root dhe t'i kalojë atij parametra të rastësishëm.

Vulnerabilitetet e identifikuara:

  • CVE-2022-27815 — ruajtja e PID tĂ« procesit nĂ« njĂ« skedar me emĂ«r tĂ« parashikueshĂ«m dhe nĂ« njĂ« katalog tĂ« aksesueshĂ«m pĂ«r shkrim nga pĂ«rdorues tĂ« tjerĂ« (/tmp/swhkd.pid). Çdo pĂ«rdorues mund tĂ« krijojĂ« njĂ« skedar /tmp/swhkd.pid dhe tĂ« vendosĂ« aty PID-nĂ« e njĂ« procesi ekzistues, gjĂ« qĂ« do tĂ« çojĂ« nĂ« pamundĂ«si pĂ«r tĂ« nisur swhkd. NĂ« mungesĂ« tĂ« mbrojtjes nga krijimi i lidhjeve simbolike nĂ« /tmp, vulnerabiliteti mund tĂ« pĂ«rdoret pĂ«r tĂ« krijuar ose shkruar skedarĂ« nĂ« çdo katalog sistemor (PID ruhet nĂ« skedar) ose pĂ«r tĂ« pĂ«rcaktuar pĂ«rmbajtjen e çdo skedari nĂ« sistem (swhkd nxjerr nĂ« stdout tĂ« gjitha pĂ«rmbajtjet e skedarit PID). ËshtĂ« e rĂ«ndĂ«sishme tĂ« theksohet se nĂ« patch-in e publikuar, skedari PID Ă«shtĂ« transferuar nga katalogu /run nĂ« katalogun /etc (/etc/swhkd/runtime/swhkd_{uid}.pid), ku gjithashtu nuk ka vend.
  • CVE-2022-27814 — duke manipuluar parametrin e linjĂ«s sĂ« komandĂ«s «-c», qĂ« pĂ«rdoret pĂ«r tĂ« specifikuar skedarin e konfigurimit, mund tĂ« pĂ«rcaktohet ekzistenca e çdo skedari nĂ« sistem. PĂ«r shembull, pĂ«r tĂ« kontrolluar /root/.somefile mund tĂ« ekzekutoni «pkexec /usr/bin/swhkd -d -c /root/.somefile» dhe nĂ«se skedari nuk ekziston do tĂ« dalĂ« njĂ« gabim «/root/.somefile doesn’t exist». Siç ndodh edhe me vulnerabilitetin e parĂ«, korrigjimi i problemit Ă«shtĂ« i çuditshĂ«m — zgjidhja e problemit pĂ«rfshin qĂ« tani pĂ«r leximin e skedarit tĂ« konfigurimit tĂ« nisĂ« njĂ« utilitar tĂ« jashtĂ«m «cat» (‘Command::new(«/bin/cat»).arg(path).output()’).
  • CVE-2022-27819 — problemin gjithashtu lidhet me pĂ«rdorimin e opsionit "-c", i cili ngarkohet nĂ« tĂ«rĂ«si skedari i konfigurimit dhe analizohet pa kontrollin e madhĂ«sisĂ« dhe llojit tĂ« skedarit. PĂ«r shembull, pĂ«r tĂ« shkaktuar njĂ« refuzim shĂ«rbimi pĂ«rmes shpenzimit tĂ« memories sĂ« lirĂ« dhe krijimit tĂ« hyrjes/duke pĂ«rdorur njĂ« pajisje blloku («pkexec /usr/bin/swhkd -d -c /dev/sda») ose pajisje simbole qĂ« jep njĂ« fluks tĂ« pafund tĂ« dhĂ«nash. Problemi zgjidhet duke rikthyer privilegjet para hapjes sĂ« skedarit, por korrigjimi nuk doli tĂ« ishte i plotĂ«, pasi vetĂ«m identifikatori i pĂ«rdoruesit (UID) zbret, ndĂ«rsa identifikatori i grupit (GID) mbetet e njĂ«jtĂ«.
  • CVE-2022-27818 — pĂ«r krijimin e njĂ« soketi Unix pĂ«rdoret skedari /tmp/swhkd.sock, i krijuar nĂ« njĂ« direktori publike pĂ«r shkrim, qĂ« çon nĂ« probleme tĂ« ngjashme me vulnerabilitetin e parĂ« (çdo pĂ«rdorues mund tĂ« krijojĂ« /tmp/swhkd.sock dhe tĂ« gjenerojĂ« ose tĂ« kapĂ« ngjarje tĂ« shtypjes sĂ« çelĂ«save).
  • CVE-2022-27817 — ngjarjet e inputit pranohen nga tĂ« gjitha pajisjet dhe nĂ« tĂ« gjithĂ« seancat, dmth. njĂ« pĂ«rdorues nga njĂ« seancĂ« tjetĂ«r Wayland ose nga konsola mund tĂ« kapĂ« ngjarjet kur çelĂ«sat e nxehtĂ« shtypen nga pĂ«rdorues tĂ« tjerĂ«.
  • CVE-2022-27816 — procesi swhks, ashtu si swhkd, pĂ«rdor skedarin PID /tmp/swhks.pid nĂ« njĂ« direktori publike pĂ«r shkrim /tmp. Problemi Ă«shtĂ« i ngjashĂ«m me vulnerabilitetin e parĂ«, por nuk Ă«shtĂ« aq i rrezikshĂ«m, pasi swhks ekzekutohet nĂ«n njĂ« pĂ«rdorues jo me privilegje.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster