ืคื’ื™ืขื•ืช ื‘-firejail ื”ืžืืคืฉืจืช ื’ื™ืฉื” ืœืฉื•ืจืฉ ืœืžืขืจื›ืช

ื–ื•ื”ืชื” ืคื’ื™ืขื•ืช (CVE-2022-31214) ื‘ื›ืœื™ ื”ืฉื™ืจื•ืช ืœื‘ื™ื“ื•ื“ ื™ื™ืฉื•ืžื™ Firejail ื”ืžืืคืฉืจ ืœืžืฉืชืžืฉ ืžืงื•ืžื™ ืœื”ืฉื™ื’ ื”ืจืฉืื•ืช ืฉื•ืจืฉ ื‘ืžืขืจื›ืช ื”ืžืืจื—ืช. ื™ืฉ ื ื™ืฆื•ืœ ืขื‘ื•ื“ื” ื–ืžื™ืŸ ื‘ืจืฉื•ืช ื”ืฆื™ื‘ื•ืจ, ืฉื ื‘ื“ืง ื‘ืžื”ื“ื•ืจื•ืช ื ื•ื›ื—ื™ื•ืช ืฉืœ openSUSE, Debian, Arch, Gentoo ื•-Fedora ืขื ื›ืœื™ ื”ืฉื™ืจื•ืช Firejail ืžื•ืชืงืŸ. ื”ื‘ืขื™ื” ืชื•ืงื ื” ื‘ืžื”ื“ื•ืจืช Firejail 0.9.70. ื›ืคืชืจื•ืŸ ืขื•ืงืฃ ืœื”ื’ื ื”, ืืชื” ื™ื›ื•ืœ ืœื”ื’ื“ื™ืจ ืืช ื”ืคืจืžื˜ืจื™ื "join no" ื•-"force-nonewprivs yes" ื‘ื”ื’ื“ืจื•ืช (/etc/firejail/firejail.config).

Firejail ืžืฉืชืžืฉืช ื‘ืžืจื—ื‘ื™ ืฉืžื•ืช, AppArmor ื•ืกื™ื ื•ืŸ ืงืจื™ืื•ืช ืžืขืจื›ืช (seccomp-bpf) ื‘ืœื™ื ื•ืงืก ืœืฆื•ืจืš ื‘ื™ื“ื•ื“, ืืš ื“ื•ืจืฉืช ื”ืจืฉืื•ืช ืžื•ื’ื‘ืจื•ืช ื›ื“ื™ ืœื”ื’ื“ื™ืจ ื‘ื™ืฆื•ืข ืžื‘ื•ื“ื“, ืฉืื•ืชื• ื”ื™ื ืžืฉื™ื’ื” ื‘ืืžืฆืขื•ืช ืงืฉื™ืจื” ืœื“ื’ืœ ื”ืฉื™ืจื•ืช suid root ืื• ืจื™ืฆื” ืขื sudo. ื”ืคื’ื™ืขื•ืช ื ื’ืจืžืช ืขืœ ื™ื“ื™ ืฉื’ื™ืื” ื‘ืœื•ื’ื™ืงื” ืฉืœ ืืคืฉืจื•ืช "--join=", ื”ืžื™ื•ืขื“ืช ืœื—ื™ื‘ื•ืจ ืœืกื‘ื™ื‘ื” ืžื‘ื•ื“ื“ืช ืฉื›ื‘ืจ ืคื•ืขืœืช (ืื ืœื•ื’ื™ ืœืคืงื•ื“ืช ื”ื”ืชื—ื‘ืจื•ืช ืœืกื‘ื™ื‘ืช ืืจื’ื– ื—ื•ืœ) ื›ืฉื”ืกื‘ื™ื‘ื” ื ืงื‘ืขืช ืขืœ ื™ื“ื™ ืžื–ื”ื” ืชื”ืœื™ืš ื”ืคื•ืขืœ ื‘ื•. ื‘ืžื”ืœืš ืฉืœื‘ ืื™ืคื•ืก ื”ื”ืจืฉืื•ืช ืžืจืืฉ, Firejail ืงื•ื‘ืข ืืช ื”ื”ืจืฉืื•ืช ืฉืœ ื”ืชื”ืœื™ืš ืฉืฆื•ื™ืŸ ื•ืžื—ื™ืœ ืื•ืชืŸ ืขืœ ื”ืชื”ืœื™ืš ื”ื—ื“ืฉ ืฉืžื—ื•ื‘ืจ ืœืกื‘ื™ื‘ื” ื‘ืืžืฆืขื•ืช ืืคืฉืจื•ืช "-join".

ืœืคื ื™ ื”ื—ื™ื‘ื•ืจ, ื”ื•ื ื‘ื•ื“ืง ืื ื”ืชื”ืœื™ืš ืฉืฆื•ื™ืŸ ืคื•ืขืœ ื‘ืกื‘ื™ื‘ืช Firejail. ื‘ื“ื™ืงื” ื–ื• ืžืขืจื™ื›ื” ืืช ื ื•ื›ื—ื•ืช ื”ืงื•ื‘ืฅ /run/firejail/mnt/join. ื›ื“ื™ ืœื ืฆืœ ืืช ื”ืคื’ื™ืขื•ืช, ืชื•ืงืฃ ื™ื›ื•ืœ ืœื“ืžื•ืช ืกื‘ื™ื‘ืช firejail ืคื™ืงื˜ื™ื‘ื™ืช, ืœื ืžื‘ื•ื“ื“ืช ื‘ืืžืฆืขื•ืช ืžืจื—ื‘ ื”ืฉืžื•ืช ืฉืœ mount, ื•ืœืื—ืจ ืžื›ืŸ ืœื”ืชื—ื‘ืจ ืืœื™ื• ื‘ืืžืฆืขื•ืช ืืคืฉืจื•ืช "--join". ืื ื”ื”ื’ื“ืจื•ืช ืื™ื ืŸ ืžืืคืฉืจื•ืช ืืช ื”ืžืฆื‘ ืฉืœ ืื™ืกื•ืจ ืจื›ื™ืฉืช ื”ืจืฉืื•ืช ื ื•ืกืคื•ืช ื‘ืชื”ืœื™ื›ื™ื ื—ื“ืฉื™ื (prctl NO_NEW_PRIVS), firejail ื™ื—ื‘ืจ ืืช ื”ืžืฉืชืžืฉ ืœืกื‘ื™ื‘ืช ื“ืžื” ื•ืชื ืกื” ืœื”ื—ื™ืœ ืืช ื”ื’ื“ืจื•ืช ืžืจื—ื‘ ืฉืžื•ืช ื”ืžืฉืชืžืฉ ืฉืœ ืชื”ืœื™ืš ื”-init (PID 1).

ื›ืชื•ืฆืื” ืžื›ืš, ื”ืชื”ืœื™ืš ื”ืžืงื•ืฉืจ ื‘ืืžืฆืขื•ืช "firejail -join" ื™ืกืชื™ื™ื ื‘ืžืจื—ื‘ ื”ืฉืžื•ืช ื”ืžืงื•ืจื™ ืฉืœ ืžื–ื”ื” ื”ืžืฉืชืžืฉ ืฉืœ ื”ืžืฉืชืžืฉ ืขื ื”ืจืฉืื•ืช ืœืœื ืฉื™ื ื•ื™, ืืš ื‘ืžืจื—ื‘ ื ืงื•ื“ืช ื”ืจื›ื‘ื” ืฉื•ื ื”, ื”ื ืฉืœื˜ ืœื—ืœื•ื˜ื™ืŸ ืขืœ ื™ื“ื™ ื”ืชื•ืงืฃ. ืชื•ืงืฃ ื™ื›ื•ืœ ื’ื ืœื”ืคืขื™ืœ ืชื•ื›ื ื™ื•ืช setuid-root ื‘ืžืจื—ื‘ ื ืงื•ื“ืช ื”-mount ืฉื™ืฆืจ, ืžื” ืฉืžืืคืฉืจ, ืœืžืฉืœ, ืœืฉื ื•ืช ืืช ื”ื’ื“ืจื•ืช /etc/sudoers ืื• ืคืจืžื˜ืจื™ PAM ื‘ื”ื™ืจืจื›ื™ื™ืช ื”ืงื‘ืฆื™ื ืฉืœื• ื•ื™ื›ื•ืœืช ืœื‘ืฆืข ืคืงื•ื“ื•ืช ืขื ื–ื›ื•ื™ื•ืช ืฉื•ืจืฉ ื‘ืืžืฆืขื•ืช sudo ืื• ืกื• ื›ืœื™ ืขื–ืจ.

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

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