α’αααααααΆαααααΆαααααααα»ααααα·ααΆαααααΈ Qualys ααΆααααα αΆαααααααΆααααα’α·αα’αααΈααΆαααΆααααααααα ααα½αααΈαααααααααΆαααααααΊαααααΈαα»α αα·αα’ααααααααααααααααααααααααααααα ααΆαααΆαααααααααα αααα»αααΊααα (CVE-2021-33909) α’αα»ααααΆαα±ααα’αααααααΎααααΆαααααα»αααααααααααα ααΆαααΌαααΆαααααα·ααααα·ααΌαααΆαα½αααΉααα·αααα·ααΆ root ααΆααααααΆααααα ααααααααΆαααΌαααααΆααααααα
αααααααααΆααααααΆαααΆααααααααααΊααΆαααααααααααααα‘αΎααααααΆαα’αααααααΆαααααΆαα’αΆα αααα αααΆαααααααααααα ααΆαααΆααααααααΎαααΆαααΎ Ubuntu 20.04/20.10/21.04, Debian 11 αα·α Fedora 34 αα αααα»αααΆααααααααααΆαααΎαα ααΆααααΌαααΆαααααααααΆααααΆααΆαα ααα αΆααααααααααα·αααααΌαααΆαααΆααααααα ααα»ααααααΆαααααΉααααΈααααΆαααΉαααΆααααα αΆ αα·αα’αΆα ααααΌαααΆαααΆααααα αΆααααααα ααΌαααααααααααΆαααααααααααα ααααΌαααΆααααααΆααΆααΉαα ααααααΆααααααΆααααΈαααα αΆααααΌαααΆααα»αα αααα αααααααΈαααααα ααα»αααααααααΆααααααααααΆαααααααΌαααα»αααΆαααΆααααααααα»ααααααααα’αΆα ααααΎααΆαααααααααΆαα±ααααααααααααΆααα αααα αΆαααααΆαααΆααααΈααααααααΆ 2014 α αΎααααααΆαααααααΆαα ααααααΆαααΊααααααα αΆααααααΎαααΈ 3.16α ααΆααα½ααα»αααΆαααΆααααααααααααΌαααΆααααααααααα½αααΆαα½ααα αααα αα·αααα½ααααα αααα»αααΊααααα ααααααΈ 19 ααααααααΆα ααΆαα ααα αΆαααααΆαααααΆααααααΎααα αα α»ααααααααΆααα αααα ααααΊααααααααα½ααααα½α α αΎα (ααααα, α’ααΌααα»αααΌ, Fedora, RHEL, SUSE, Arch)α
ααΆαααΆααααααααααΊαααααΆαααααΈααΆααααΆααααααα»αααΆααααα½ααα·αα·αααααααααααααΆαααααααα size_t αα int αα»ααααααααΎααααα·ααααα·ααΆααα αααα»αααΌα seq_file ααααααααΎαα―αααΆαααΈααααΆαααααααααααααΆα ααΆαααααΆααααα»αααΆααααα½ααα·αα·αααα’αΆα αααααΆαα±ααααΆαααΆαααααααα ααα·ααααααα’αΆαααααα ααααααααΎα αααα αα·ααα»ααα ααΆαααααααααααααααΆααααααΆααααΆαα (ααα αααααΌαααααΆα 1 GB)α ααΆαααααα α’αααααΆααααα αΆαα’αΆα αααααα ααΆαααΌαααααα’αααα 10-byte "//deleted" αααααααΌαααΆαααααααα α’α»α αααα·ααα "-2 GB - 10 bytes" αααα ααα’α»ααα ααΆαααααααααααα ααΈαα»αααα·ααααααα’αΆαααααααααΆααααα ααααααΆααα
ααΆαααααααααααα αααααΆααααα ααααααΌαα±ααααΆαα’αααα αα αΆα 5 GB αα·α 1 ααΆαα’ααΈααΌααααα₯ααα·αααααααΎααααΈααααΎαααΆαα ααΆαααααααααααα ααααΎαααΆααααααΆαα α mkdir() ααΎααααΈαααααΎαααΆααΆαα»αααααααααααααα αααα½αααΆα ααΎααααΈαααααα ααΆαααΌαααα αααααΌαα―αααΆαααΎαααΈ 1 GBα αααααααααΌαααΆαααααααΆαααα bind-mount αααα»αα ααααααααααα’αααααααΎααααΆααααΆα ααααα‘αα αααααΆααααΈααααα»αααΆα rmdir() ααααΌαααΆαααααΎαααΆαααΎααααΈααααΆα ααα ααααααααΆααα αααααααα‘αΆααα½αααααΌαααΆααααααΎαα‘αΎαααααααα»ααααααα·ααΈ eBPF ααΌα αα½α αααααααΌαααΆαααΆααΆαααα ααααΆααααΆααααααΆααααΈαα·αα·αααααΎα eBPF pseudocode ααα»αααααα»ααααααΆαα ααααα JIT ααααααΆα
αα αααα»α userid namespace ααααα·αααΆαα―ααα·αααα· α―αααΆα /proc/self/mountinfo ααααΌαααΆαααΎα α αΎααααααααααΌαααααααααααααΆαααααΆααααααΌαααΆαα’αΆα ααΆαααααααααααααα’αααα "//deleted" ααααΌαααΆαααααααα ααΆαααααααα»ααααα αΆααααααΎαααααα·ααααααα’αΆααααα ααΈααΆαααααααΆααααΆαααααααααααΆααααααΌαααΆαααααΎαααΎα ααΌα ααααααΆαααααααΆααααΎααΆαααααΆααα αααα»ααααααα·ααΈαααααΆαααΆααααααα½α α αΎα ααα»αααααα·αααΆααααΆαα ααααααααααα·ααΈ eBPF αα α‘αΎαα
αααααΆααααααα αα ααααα·ααααααα·ααΈ eBPF ααΆααααααα ααααΈααα·ααααααα’αΆααααααααα·αα’αΆα αααααααααααΆαααααΌαααΆαααααααααα ααΆαααααααΆαααααααααααααα»αααΆαα’αΆα αα·αααααααα ααΆαααα ααΆααααααααααΊαααααααααααααΆααααααΆααααα ααα ααΆαααααααα btf αα·α map_push_elem α ααΆαααααα ααΆαααααααααααα αααααααΈααΆαααα modprobe_path[] buffer αα αααα»αα’αααα αα αΆαααΊααα α αΎααααααααΆααααΎααααΌα β/sbin/modprobeβ αα αααα»αααΆ αααα’αα»ααααΆαα±ααα’αααα αΆααααααΎαααΆαααΎαααααΎαααΆαα―αααΆααααα’αΆα ααααα·ααααα·ααΆαααΆαα½αααΆαα½αααΉααα·αααα·ααΆ root αα αααα»αααααΉαααα·ααΆααααα request_module() call αααααααΌαααΆαααααα·ααααα· ααΆα§ααΆα ααα αα ααααααααΎα netlink socketα
α’αααααααΆαααααΆααααααααΌααααααααααΆαααΆα αααΎααααααΆαααααα·αααααΆααααααΆααααααΆαααααααααααα ααΆααααΆαααα½αααα»ααααα ααα»αααααα·ααα»αααααΆαααααα αΆααααααα½αα―ααααααα ααΆααααΌαααΆααααααα’αα»ααΆαααα±ααααααα "/proc/sys/kernel/unprivileged_userns_clone" αα 0 ααΎααααΈαα·αααααΎαααΆααααααααα αααα»α namespace ID α’αααααααΎααααΆααααΆα ααααα‘αα αα·α "/proc/sys/kernel/unprivileged_bpf_disabled" αα 1 ααΎααααΈαα·αααααΎαααΆααααα»ααααααα·ααΈ eBPF αα αααα»αααΊαααα
αα½αααααααααΆααααΆαααααααααα»ααα·ααΆαααΆαααΆααααα αΆααααα½ααααααΆαααααααααΉαααΆαααααΎααααΆααααααααΆα FUSE αααα½αα±ααααΆαα α-mound ααΎααααΈααα‘αΎααααααα½α α’αααααααΆαααααΆαααΆααα½ααααααααΆαααΆαααααααααα½ααααααααα (CVE-2021-33910) ααααααααΆαααααα’αααααααααααααααααααα systemd α ααΆααΆαααααααααΆαααΆαα αααααααΆααΆαααααΆαααααααααΆαααα αααααΌαααΎαααΈ 8 MB ααΆαααα FUSE ααααΎαααΆαα αΆααααααΎαααααααααα (PID1) α’ααα’αααα αα αΆαααα α αΎαααΆαααααααααΎα±αααααααααααααα·ααααα»αααααΆαααΆα "αααααααααααα" α
αααα αΆααΊααΆααααααααααΆαααΆα αα·ααααααΆαα·ααΆαα /proc/self/mountinfo α αΎαααααΎαααΆαα ααα»α ααααααΈαα½αααα αααα»αα’αα»αααα unit_name_path_escape() αααα’αα»ααααααααα·ααααα·ααΆα strdupa() αααααΆαααα·αααααααα ααΎαααααΆααΆααα αααα»αα’αααα αα αΆααααααΆααααα ααααΆαααααα . αααααΆαααα ααααα’αα·ααααΆααααΌαααΆααααααααΆαααα RLIMIT_STACK ααΆαααααΎαααΆαααααΌαααααααα ααΆααα ααα»α αααααααααΆαα±ααααααΎαααΆα PID1 ααΆαα αα·αααααααααααααααα αααααΆααααΆαααΆααααα αΆα α’αααα’αΆα ααααΎαααΌαα»α FUSE ααααΆαααααααα»α αα½αααααααΆαα½αααΉαααΆαααααΎααααΆαααααααααΆααααα»ααααααααΆα ααα»α αααα αααααα αααααΌααααααΎαααΈ 8 MB α
αααα αΆααΆααα·ααααα»αααα
α‘αΎαα
αΆααααΆααααΈ systemd 220 (ααααααΆ 2015) ααααΌαααΆααα½ααα»ααα½α
α αΎααα
αααα»αααααΆααααααααααααααΆαα αα·αααΆααα½ααα»ααα
αααα»αααΆαα
ααα
αΆα (Debian, Ubuntu, Fedora, RHEL, SUSE, Arch)α αα½αααααααααΆααααΆαα
αααα»αααΆαα
ααααααΆααααααααα 248 ααΆαααααααααααα
αα·αααααΎαααΆααααααααΆαααααα α»ααα
αααα»αααΌαααααααααααααααααΆαα±ααααααΎαααΆα /proc/self/mountinfo αααΆαααα ααΆαααα½αα±ααα
αΆααα’αΆααααααααααααααααΆαα
ααααΆα 2018 ααααΆαααΆαααααααααααΆαα½αααΆαααΎαα‘αΎα α αΎααα
αααααααΆααΆααααααααΆαααααααααααα
αααααΆααααΆαααΆαααααααα CVE-2018-14634 αα
αααα»αααΊαααααΈαα»α
α’αααααααΆαααααΆα Qualys ααΆαααααααΆααααΆαααΆααααααααααααΆαααα
ααα½αααΈαα
αααα»α systemd α
ααααα: opennet.ru