ื ืืืึทืื ืขืจืึทืืืืืื (CVE-2021-4204) ืืื ืืืืขื ืึทืคืืื ืืื ืื eBPF ืกืึทืืกืืกืืขื, ืืืึธืก ืึทืืึทืื ืืืจ ืฆื ืืืืคื ืืึทื ืืืขืจืก ืื ืื ืืื ืืงืก ืงืขืจื ืืื ืึท ืกืคึผืขืฆืืขื ืืืืจืืืึทื ืืึทืฉืื ืืื JIT, ืึทืืึทืืื ื ืึท ืืืืข ืึทื ืคึผืจืืืืืืึทืืืฉื ืืึทื ืืฆืขืจ ืฆื ืืขืจืืจืืืื ืคึผืจืืืืืืขืืืข ืขืกืงืึทืืืจืื ื ืืื ืืืกืคืืจื ืืืืขืจ ืงืึธื ืืื ืื ืืื ืืงืก ืงืขืจื ืืืจืื. ืืขืจ ืคึผืจืึธืืืขื ืืื ืืจืืืก ืืื ื ืืื ืืงืก ืงืขืจื 5.8 ืืื ืืืืืื ืึทื ืคืืงืกื (ืึทืจืืึทื ืืขืจืขืื ื ืืขืืืื ื 5.16). ืืขืจ ืกืืึทืืืก ืคืื ืืขืจืืืึทื ืืืงืื ืืขื ืืืึธืก ืืขื ืขื ืืืฉืขื ืขืจืืืืึทื ืฆื ืคืึทืจืจืืืื ืืขื ืคึผืจืึธืืืขื ืืื ืืืกืืจืืืืืฉืึทื ื ืงืขื ืขื ืืืื ืืจืึทืงื ืืืืฃ ืื ืืืขืืขืจ: Debian, RHEL, SUSE, Fedora, Ubuntu, Arch. ืขืก ืืื ืืขืืืขื ืืืืืข ืึทื ืึท ืืจืืขืื ืขืงืกืคึผืืืื ืืื ืืขืืืขื ืืืฉืืคื, ืืืึธืก ืืื ืคึผืืึทื ื ืขื ืฆื ืืืื ืืจืืืก ืืืืฃ ืืื ืืืจ 18 (ืืึทื ืืฆืขืจ ืืื ืืขืืืขืืึธืคึผืขืจืก ืืึธืื ืืืงืืืขื ืึท ืืืึธื ืฆื ืคืึทืจืจืืืื ืื ืืืึทืื ืขืจืึทืืืืืื).
ืื ืืืึทืื ืขืจืึทืืืืืื ืืื ืืขืคึฟืืจื ืืืจื ืคืึทืืฉ ืืืขืจืึทืคืึทืงืืืฉืึทื ืคืื eBPF ืืืืื ืืจืึทื ืกืืืืืขื ืคึฟืึทืจ ืืืจืืคืืจืื ื. ืื eBPF ืกืึทืืกืืกืืขื ืืื ืึทืืืืืืขืจื ืคืึทื ืืงืฉืึทื ื, ืื ืจืืืืืง ื ืืฆื ืคืื ืืืึธืก ืืื ืืืขืจืึทืคืืื ืืืจื ืึท ืกืคึผืขืฆืืขื ืืืขืจืืืคืืืขืจ. ืขืืืขืืข ืคืึทื ืืงืฉืึทื ื ืืึทืจืคื ืืืจืืืืื ืึท PTR_TO_MEM ืืืขืจื ืืื ืึทื ืึทืจืืืืขื ื, ืืื ืฆื ืคืึทืจืืืึทืื ืืขืืืขื ืืึทืคืขืจ ืึธืืืืขืจืคืืึธืื, ืืขืจ ืืืขืจืึทืคืืืขืจ ืืืื ืืืืกื ืื ืืจืืืก ืคืื ืืขื ืืึผืจืื ืคืืจืืื ืื ืืื ืื ืึทืจืืืืขื ื. ืคึฟืึทืจ ืื bpf_ringbuf_submit ืืื bpf_ringbuf_discard ืคืึทื ืืงืฉืึทื ื, ืืึทืื ืืืขืื ืื ืืจืืืก ืคืื ืื ืืจืึทื ืกืคืขืจื ืืึผืจืื ืืขื ืขื ื ืืฉื ืจืขืคึผืึธืจืืขื ืฆื ืื ืืืขืจืึทืคืืืขืจ, ืืืึธืก ืงืขื ืืืื ืืขืืืืื ื ืฆื ืึธืืืืขืจืจืืื ืืืงืึธืจื ืืขืืืื ืืืืึทืืขืจ ืคืื ืื ืืึทืคืขืจ ืืจืขื ืขืฅ ืืืขื ืขืงืกืึทืงืืืืื ื ืกืคึผืขืฆืืขื ืืืืืื ื eBPF ืงืึธื.
ืฆื ืืืจืืคืืจื ืึทื ืืึทืคืึทืื, ืืขืจ ืืึทื ืืฆืขืจ ืืืื ืงืขื ืขื ืฆื ืืึธืื ืืืื ืืืืืขื ืข BPF ืคึผืจืึธืืจืึทื, ืืื ืคืืืข ืืขืฆืืข ืืื ืืงืก ืืืกืืจืืืืืฉืึทื ื ืคืึทืจืฉืคึผืึทืจื ืืขื ืคืืืืงืืื ืืืจื ืคืขืืืงืืึทื (ืึทืจืืึทื ืืขืจืขืื ื ืึทื ืคึผืจืืืืืืืืืฉื ืึทืงืกืขืก ืฆื eBPF ืืื ืืืฆื ืคึผืจืึธืืืืืึทืืึทื ืืืจื ืคืขืืืงืืึทื ืืื ืื ืงืขืจื ืืื, ืกืืึทืจืืื ื ืืื ืืขืืืื ื 5.16). ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืื ืืืึทืื ืขืจืึทืืืืืื ืงืขื ืขื ืืืื ืขืงืกืคึผืืืืืึทื ืืื ืื ืคืขืืืงืืึทื ืงืึทื ืคืืืืขืจืืืฉืึทื ืืื Ubuntu 20.04 LTS, ืึธืืขืจ ืืื ืื ืื ืืืืืจืึทื ืืึทื ืฅ Ubuntu 22.04-dev, Debian 11, openSUSE 15.3, RHEL 8.5, SUSE 15-SP4 ืืื Fedora 33 ืขืก ืืื ืืืืื ืืืื ืืขืจ ืึทืืืื ืืกืืจืึทืืึธืจ ืืื ืืึทืฉืืืื. ืื kernel.unprivileged_bpf_disabled ืคึผืึทืจืึทืืขืืขืจ ืฆื 0. ืืื ืึท ืืืึธืจืงืึทืจืึธืื ื ืคึฟืึทืจ ืืืึทืงืื ื ืื ืืืึทืื ืขืจืึทืืืืืื, ืืืจ ืงืขื ืขื ืคืึทืจืืืื ืื ืืืจืืคืืจืื ื ืคืื BPF ืืืืื ืืืจื ืึทื ืคึผืจืืืืืืืืืฉื ื ืืฆืขืจืก ืืื ืื ืืึทืคึฟืขื "sysctl -w kernel.unprivileged_bpf_disabled=1".
ืืงืืจ: opennet.ru