Осебиятҳо дар swhkd, мудири миёнабур барои Wayland

Дар swhkd (Simple Wayland HotKey Daemon) як қатор осебпазириҳо ошкор карда шуданд, ки дар натиҷаи коркарди нодурусти файлҳои муваққатӣ, параметрҳои сатри фармон ва сокетҳои Unix ба вуҷуд омадаанд. Барнома, ки бо забони Rust навишта шудааст, пахш кардани тугмаҳои гармро дар муҳитҳои Wayland идора мекунад (ин муодили мутобиқ ба раванди sxhkd мебошад, ки дар муҳитҳои X11 истифода мешавад).

Ин баста раванди беимтиёз, swhks, ки амалҳои тугмаи фавриро иҷро мекунад ва раванди замина, swhkd, ки бо имтиёзҳои root кор мекунад ва дар сатҳи API-и uinput бо дастгоҳҳои вуруд ҳамкорӣ мекунад, дар бар мегирад. Барои осон кардани муошират байни swhks ва swhkd сокети Unix истифода мешавад. Қоидаҳои Polkit ба ҳар як корбари маҳаллӣ имкон медиҳанд, ки раванди /usr/bin/swhkd-ро бо имтиёзҳои root иҷро кунад ва параметрҳои ихтиёриро ба он интиқол диҳад.

Камбудиҳои муайяншуда:

  • CVE-2022-27815 — захира кардани PID-и раванд ба файле бо номи пешгӯишаванда дар феҳристе, ки аз ҷониби дигар корбарон навишта мешавад (/tmp/swhkd.pid). Ҳар як корбар метавонад файли /tmp/swhkd.pid-ро эҷод кунад ва PID-и раванди мавҷударо дар он ҷойгир кунад, ки аз оғози swhkd пешгирӣ мекунад. Бе муҳофизат аз эҷоди пайвандҳои рамзӣ дар /tmp, ин осебпазирӣ метавонад барои эҷод ё аз нав навиштани файлҳо дар ҳама гуна феҳристи система истифода шавад (PID ба файл навишта мешавад) ё муайян кардани мундариҷаи ҳама гуна файл дар система (swhkd тамоми мундариҷаи файли PID-ро ба stdout бармегардонад). Қобили зикр аст, ки дар патчи озодшуда файли PID на ба феҳристи /run, балки ба феҳристи /etc (/etc/swhkd/runtime/swhkd_{uid}.pid) интиқол дода мешавад, ки дар он ҷо он низ тааллуқ надорад.
  • CVE-2022-27814 – Бо тағир додани параметри сатри фармони "-c", ки барои муайян кардани файли конфигуратсия истифода мешавад, муайян кардани мавҷудияти ҳама гуна файл дар система имконпазир аст. Масалан, барои санҷиши /root/.somefile, метавон "pkexec /usr/bin/swhkd -d -c /root/.somefile"-ро иҷро кард ва агар файл вуҷуд надошта бошад, хатогии "/root/.somefile doesn't exist" баргардонида мешавад. Мисли осебпазирии аввал, ислоҳ печида аст - он ба иҷро кардани утилитаи берунаи "cat" ('Command::new("/bin/cat").arg(path).output()') барои хондани файли конфигуратсия бармегардад.
  • CVE-2022-27819 — Мушкилот инчунин ба истифодаи варианти "-c" алоқаманд аст, ки боиси боркунӣ ва таҳлили тамоми файли конфигуратсия бе санҷиши андоза ва намуди он мегардад. Масалан, барои рад кардани хидмат тавассути хастагии хотира ва вуруд/хуруҷи паразитӣ, метавон дастгоҳи блок ("pkexec /usr/bin/swhkd -d -c /dev/sda") ё дастгоҳи аломатро, ки ҷараёни беохири маълумотро ҳангоми оғозёбӣ истеҳсол мекунад, муайян кард. Мушкилот бо аз нав танзим кардани имтиёзҳо пеш аз кушодани файл ҳал карда шуд, аммо ислоҳ нопурра буд, зеро танҳо ID-и корбар (UID) аз нав танзим карда мешавад ва ID-и гурӯҳ (GID) бетағйир мемонад.
  • CVE-2022-27818 - Файли /tmp/swhkd.sock, ки дар феҳристи навишташавандаи ҷаҳонӣ сохта шудааст, барои эҷоди сокети Unix истифода мешавад, ки боиси мушкилоти монанд ба осебпазирии аввал мегардад (ҳар як корбар метавонад /tmp/swhkd.sock-ро эҷод кунад ва рӯйдодҳои пахши тугмаро тавлид ё қатъ кунад).
  • CVE-2022-27817 - Рӯйдодҳои вурудӣ аз ҳама дастгоҳҳо ва дар ҳама сессияҳо қабул карда мешаванд, яъне корбар аз сессияи дигари Wayland ё аз консол метавонад рӯйдодҳоро ҳангоми пахш кардани тугмаҳои зуди корбарони дигар боздорад.
  • CVE-2022-27816 — Раванди swhks, мисли swhkd, аз файли PID /tmp/swhks.pid дар феҳристи world-writable /tmp истифода мебарад. Мушкилот ба осебпазирии аввал монанд аст, аммо камтар ҷиддӣ аст, зеро swhks зери корбари беимтиёз кор мекунад.

Манбаъ: opennet.ru

Хостинги боэътимодро барои сайтҳо бо муҳофизати DDoS, серверҳои VPS VDS харед 🔥 Харидани хостинги боэътимоди вебсайт бо муҳофизати DDoS, серверҳои VPS VDS | ProHoster