ื ืงื•ื“ื•ืช ืชื•ืจืคื” ื‘-swhkd, ืžื ื”ืœ ืงื™ืฆื•ืจื™ ื“ืจืš ืขื‘ื•ืจ Wayland

ื–ื•ื”ื• ืกื“ืจื” ืฉืœ ืคื’ื™ืขื•ื™ื•ืช ื‘-swhkd (Simple Wayland HotKey Daemon) ื”ื ื’ืจืžื•ืช ืžืขื‘ื•ื“ื” ืœื ื ื›ื•ื ื” ืขื ืงื‘ืฆื™ื ื–ืžื ื™ื™ื, ืคืจืžื˜ืจื™ื ืฉืœ ืฉื•ืจืช ื”ืคืงื•ื“ื” ื•ืฉืงืขื™ Unix. ื”ืชื•ื›ื ื™ืช ื›ืชื•ื‘ื” ื‘-Rust ื•ืžื˜ืคืœืช ื‘ืœื—ื™ืฆืช ืžืงืฉื™ ืงื™ืฆื•ืจ ื‘ืกื‘ื™ื‘ื•ืช ื”ืžื‘ื•ืกืกื•ืช ืขืœ ืคืจื•ื˜ื•ืงื•ืœ Wayland (ืื ืœื•ื’ื™ ืชื•ืื ืงื‘ืฆื™ ืชืฆื•ืจื” ืฉืœ ืชื”ืœื™ืš sxhkd ื”ืžืฉืžืฉ ื‘ืกื‘ื™ื‘ื•ืช ืžื‘ื•ืกืกื•ืช X11).

ื”ื—ื‘ื™ืœื” ื›ื•ืœืœืช ืชื”ืœื™ืš swhks ืœืœื ืคืจื™ื‘ื™ืœื’ื™ื” ืฉืžื‘ืฆืข ืคืขื•ืœื•ืช ืžืงืฉื™ ืงื™ืฆื•ืจ, ื•ืชื”ืœื™ืš swhkd ื‘ืจืงืข ืฉืคื•ืขืœ ื›-root ื•ืžืงื™ื™ื ืื™ื ื˜ืจืืงืฆื™ื” ืขื ื”ืชืงื ื™ ืงืœื˜ ื‘ืจืžืช uinput API. ืฉืงืข ื™ื•ื ื™ืงืก ืžืฉืžืฉ ืœืืจื’ื•ืŸ ื”ืื™ื ื˜ืจืืงืฆื™ื” ื‘ื™ืŸ swhks ื•- swhkd. ื‘ืืžืฆืขื•ืช ื—ื•ืงื™ Polkit, ื›ืœ ืžืฉืชืžืฉ ืžืงื•ืžื™ ื™ื›ื•ืœ ืœื”ืจื™ืฅ ืืช ื”ืชื”ืœื™ืš /usr/bin/swhkd ื›ืฉื•ืจืฉ ื•ืœื”ืขื‘ื™ืจ ืืœื™ื• ืคืจืžื˜ืจื™ื ืฉืจื™ืจื•ืชื™ื™ื.

ื ืงื•ื“ื•ืช ืชื•ืจืคื” ืฉื–ื•ื”ื•:

  • 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 ืœื ืงื™ื™ืžืช " ื™ื•ืฆื’. ื›ืžื• ื‘ืžืงืจื” ืฉืœ ื”ืคื’ื™ืขื•ืช ื”ืจืืฉื•ื ื”, ืชื™ืงื•ืŸ ื”ื‘ืขื™ื” ื”ื•ื ืชืžื•ื” - ืชื™ืงื•ืŸ ื”ื‘ืขื™ื” ืžืกืชื›ื ื‘ืขื•ื‘ื“ื” ืฉืชื•ื›ื ื™ืช ื”ืฉื™ืจื•ืช ื”ื—ื™ืฆื•ื ื™ืช "cat" ('Command::new(โ€œ/bin/catโ€)).arg(path) ืžื•ืคืขืœ ื›ืขืช ื›ื“ื™ ืœืงืจื•ื ืืช ืงื•ื‘ืฅ ื”ืชืฆื•ืจื”. output()').
  • CVE-2022-27819 โ€“ ื”ื‘ืขื™ื” ืงืฉื•ืจื” ื’ื ืœืฉื™ืžื•ืฉ ื‘ืืคืฉืจื•ืช "-c", ื”ื’ื•ืจืžืช ืœื˜ืขื™ื ื” ื•ืœื ื™ืชื•ื— ืฉืœ ื›ืœ ืงื•ื‘ืฅ ื”ืชืฆื•ืจื” ืžื‘ืœื™ ืœื‘ื“ื•ืง ืืช ื”ื’ื•ื“ืœ ื•ื”ืกื•ื’ ืฉืœ ื”ืงื•ื‘ืฅ. ืœื“ื•ื’ืžื”, ื›ื“ื™ ืœื’ืจื•ื ืœืžื ื™ืขืช ืฉื™ืจื•ืช ืขืœ ื™ื“ื™ ืื–ืœ ื”ื–ื™ื›ืจื•ืŸ ื”ืคื ื•ื™ ื•ื™ืฆื™ืจืช I/O ืžื–ื•ื™ืฃ, ืืชื” ื™ื›ื•ืœ ืœืฆื™ื™ืŸ ื”ืชืงืŸ ื—ืกื™ืžื” ื‘ืขืช ื”ื”ืคืขืœื” ("pkexec /usr/bin/swhkd -d -c /dev/sda") ืื• ืžื›ืฉื™ืจ ืื•ืคื™ ืฉืžื™ื™ืฆืจ ื–ืจื ืื™ื ืกื•ืคื™ ืฉืœ ื ืชื•ื ื™ื. ื”ื‘ืขื™ื” ื ืคืชืจื” ืขืœ ื™ื“ื™ ืื™ืคื•ืก ื”ื”ืจืฉืื•ืช ืœืคื ื™ ืคืชื™ื—ืช ื”ืงื•ื‘ืฅ, ืืš ื”ืชื™ืงื•ืŸ ืœื ื”ื•ืฉืœื, ืžื›ื™ื•ื•ืŸ ืฉืจืง ืžื–ื”ื” ื”ืžืฉืชืžืฉ (UID) ืžืื•ืคืก, ืืš ืžื–ื”ื” ื”ืงื‘ื•ืฆื” (GID) ื ืฉืืจ ื–ื”ื”.
  • CVE-2022-27818 โ€“ ืฉืงืข ื™ื•ื ื™ืงืก ื ื•ืฆืจ ื‘ืืžืฆืขื•ืช ื”ืงื•ื‘ืฅ /tmp/swhkd.sock ืฉื ื•ืฆืจ ื‘ืกืคืจื™ื” ื ื™ืชื ืช ืœื›ืชื™ื‘ื”, ืžื” ืฉืžื•ื‘ื™ืœ ืœื‘ืขื™ื•ืช ื“ื•ืžื•ืช ื›ืžื• ื”ืคื’ื™ืขื•ืช ื”ืจืืฉื•ื ื” (ื›ืœ ืžืฉืชืžืฉ ื™ื›ื•ืœ ืœื™ืฆื•ืจ /tmp/swhkd.sock ื•ืœื™ืฆื•ืจ ืื• ืœื™ื™ืจื˜ ืื™ืจื•ืขื™ ืœื—ื™ืฆืช ืžืงืฉื™ื).
  • CVE-2022-27817 - ืื™ืจื•ืขื™ ืงืœื˜ ืžืชืงื‘ืœื™ื ืžื›ืœ ื”ืžื›ืฉื™ืจื™ื ื•ื‘ื›ืœ ื”ืคืขืœื•ืช, ื›ืœื•ืžืจ. ืžืฉืชืžืฉ ืžื”ืคืขืœื” ืื—ืจืช ืฉืœ Wayland ืื• ืžื”ืžืกื•ืฃ ื™ื›ื•ืœ ืœื™ื™ืจื˜ ืื™ืจื•ืขื™ื ื›ืืฉืจ ืžืฉืชืžืฉื™ื ืื—ืจื™ื ืœื•ื—ืฆื™ื ืขืœ ืžืงืฉื™ ืงื™ืฆื•ืจ.
  • CVE-2022-27816 ืชื”ืœื™ืš swhks, ื›ืžื• swhkd, ืžืฉืชืžืฉ ื‘ืงื•ื‘ืฅ ื”-PID /tmp/swhks.pid ื‘ืกืคืจื™ื™ืช /tmp ื”ื ื™ืชื ืช ืœื›ืชื™ื‘ื”. ื”ื‘ืขื™ื” ื“ื•ืžื” ืœืคื’ื™ืขื•ืช ื”ืจืืฉื•ื ื”, ืืš ืื™ื ื” ืžืกื•ื›ื ืช ื›ืœ ื›ืš ืžื›ื™ื•ื•ืŸ ืฉ-swhks ืคื•ืขืœ ืชื—ืช ืžืฉืชืžืฉ ื—ืกืจ ื”ืจืฉืื•ืช.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”