eBPF āĻ¸āĻžāĻŦāĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ āĻāĻāĻāĻŋ āĻĻā§āĻ°ā§āĻŦāĻ˛āĻ¤āĻž (CVE-2021-4204) āĻāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻ¯āĻž JIT-āĻāĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻāĻŋ āĻŦāĻŋāĻļā§āĻˇ āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§āĻļāĻŋāĻ¨ā§ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ āĻāĻžāĻ°ā§āĻ¨ā§āĻ˛ā§āĻ° āĻāĻŋāĻ¤āĻ°ā§ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ°āĻĻā§āĻ° āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧ, āĻ¯āĻž āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻŦāĻā§āĻāĻŋāĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻā§ āĻ¤āĻžāĻĻā§āĻ° āĻā§āĻĄā§āĻ° āĻŦāĻŋāĻļā§āĻˇāĻžāĻ§āĻŋāĻāĻžāĻ° āĻŦā§āĻĻā§āĻ§āĻŋ āĻāĻŦāĻ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻžāĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧāĨ¤ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ āĻāĻžāĻ°ā§āĻ¨ā§āĻ˛ā§āĻ° āĻ¸ā§āĻ¤āĻ°āĨ¤ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻāĻŋ Linux 5.8 āĻāĻžāĻ°ā§āĻ¨ā§āĻ˛ āĻĨā§āĻā§ āĻĒā§āĻ°āĻāĻžāĻļ āĻĒāĻžāĻā§āĻā§ āĻāĻŦāĻ āĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻ°āĻ¯āĻŧā§āĻā§ (āĻ°āĻŋāĻ˛āĻŋāĻ 5.16 āĻ¸āĻš)āĨ¤ āĻĄāĻŋāĻ¸ā§āĻā§āĻ°āĻŋāĻŦāĻŋāĻāĻļāĻ¨ā§ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻĻā§āĻ° āĻāĻ°āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻāĻĒāĻĄā§āĻā§āĻ° āĻĒā§āĻ°āĻāĻ¨ā§āĻŽā§āĻ° āĻ āĻŦāĻ¸ā§āĻĨāĻž āĻāĻ āĻĒā§āĻˇā§āĻ āĻžāĻā§āĻ˛āĻŋāĻ¤ā§ āĻā§āĻ°ā§āĻ¯āĻžāĻ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§: āĻĄā§āĻŦāĻŋāĻ¯āĻŧāĻžāĻ¨, āĻāĻ°āĻāĻāĻāĻāĻāĻ˛, āĻ¸ā§āĻ¸, āĻĢā§āĻĄā§āĻ°āĻž, āĻāĻŦā§āĻ¨ā§āĻā§, āĻāĻ°ā§āĻāĨ¤ āĻāĻāĻāĻŋ āĻāĻžāĻ°ā§āĻ¯āĻāĻ°ā§ āĻļā§āĻˇāĻŖ āĻ¤ā§āĻ°āĻŋāĻ° āĻā§āĻˇāĻŖāĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻ¯āĻž 18 āĻāĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ°ā§ āĻĒā§āĻ°āĻāĻžāĻļ āĻāĻ°āĻžāĻ° āĻĒāĻ°āĻŋāĻāĻ˛ā§āĻĒāĻ¨āĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ (āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻāĻŦāĻ āĻŦāĻŋāĻāĻžāĻļāĻāĻžāĻ°ā§āĻĻā§āĻ° āĻĻā§āĻ°ā§āĻŦāĻ˛āĻ¤āĻž āĻ āĻŋāĻ āĻāĻ°āĻ¤ā§ āĻāĻ āĻ¸āĻĒā§āĻ¤āĻžāĻš āĻ¸āĻŽāĻ¯āĻŧ āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§āĻā§)āĨ¤
āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻž āĻĻā§āĻāĻ¯āĻŧāĻž eBPF āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻā§āĻ˛āĻŋāĻ° āĻā§āĻ˛ āĻā§āĻāĻŋāĻāĻ¯āĻŧā§āĻ° āĻāĻžāĻ°āĻŖā§ āĻĻā§āĻ°ā§āĻŦāĻ˛āĻ¤āĻž āĻ¸ā§āĻˇā§āĻāĻŋ āĻšāĻ¯āĻŧāĨ¤ eBPF āĻ¸āĻžāĻŦāĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻ¸āĻšāĻžāĻ¯āĻŧāĻ āĻĢāĻžāĻāĻļāĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§, āĻ¯āĻžāĻ° āĻ¸āĻ āĻŋāĻāĻ¤āĻž āĻāĻāĻāĻŋ āĻŦāĻŋāĻļā§āĻˇ āĻ¯āĻžāĻāĻžāĻāĻāĻžāĻ°ā§ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻŋāĻā§ āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ PTR_TO_MEM-āĻāĻ° āĻŽāĻžāĻ¨ āĻāĻāĻāĻŋ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻĒāĻžāĻ¸ āĻāĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻāĻŦāĻ āĻ¸āĻŽā§āĻāĻžāĻŦā§āĻ¯ āĻŦāĻžāĻĢāĻžāĻ° āĻāĻāĻžāĻ°āĻĢā§āĻ˛ā§ āĻĒā§āĻ°āĻ¤āĻŋāĻ°ā§āĻ§ āĻāĻ°āĻ¤ā§, āĻ¯āĻžāĻāĻžāĻāĻāĻžāĻ°ā§āĻā§ āĻ āĻŦāĻļā§āĻ¯āĻ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¯ā§āĻā§āĻ¤ āĻŽā§āĻŽāĻ°āĻŋāĻ° āĻāĻāĻžāĻ° āĻāĻžāĻ¨āĻ¤ā§ āĻšāĻŦā§āĨ¤ bpf_ringbuf_submit āĻāĻŦāĻ bpf_ringbuf_discard āĻĢāĻžāĻāĻļāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯, āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻŽā§āĻŽāĻ°āĻŋāĻ° āĻāĻāĻžāĻ°ā§āĻ° āĻĄā§āĻāĻž āĻ¯āĻžāĻāĻžāĻāĻāĻžāĻ°ā§āĻā§ āĻ°āĻŋāĻĒā§āĻ°ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ, āĻ¯āĻž āĻŦāĻŋāĻļā§āĻˇāĻāĻžāĻŦā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž eBPF āĻā§āĻĄ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŦāĻžāĻĢāĻžāĻ° āĻ¸ā§āĻŽāĻžāĻ¨āĻžāĻ° āĻŦāĻžāĻāĻ°ā§ āĻŽā§āĻŽāĻ°āĻŋ āĻ āĻā§āĻāĻ˛āĻā§āĻ˛āĻŋāĻā§ āĻāĻāĻžāĻ°āĻ°āĻžāĻāĻ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻāĻā§āĻ°āĻŽāĻŖ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻā§ āĻ
āĻŦāĻļā§āĻ¯āĻ āĻ¤āĻžāĻ° BPF āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻ˛ā§āĻĄ āĻāĻ°āĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ āĻšāĻ¤ā§ āĻšāĻŦā§, āĻāĻŦāĻ āĻ¸āĻžāĻŽā§āĻĒā§āĻ°āĻ¤āĻŋāĻ āĻ
āĻ¨ā§āĻ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ āĻĄāĻŋāĻ¸ā§āĻā§āĻ°āĻŋāĻŦāĻŋāĻāĻļāĻ¨ āĻāĻāĻŋāĻā§ āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§ āĻ
āĻŦāĻ°ā§āĻĻā§āĻ§ āĻāĻ°ā§ (āĻ¯ā§āĻ¤ā§ eBPF-āĻ¤ā§ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻŦāĻŋāĻšā§āĻ¨ āĻ
ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻāĻ¨ āĻāĻžāĻ°ā§āĻ¨ā§āĻ˛ā§āĻ āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§ āĻ¨āĻŋāĻˇāĻŋāĻĻā§āĻ§, āĻ°āĻŋāĻ˛āĻŋāĻ 5.16 āĻĨā§āĻā§ āĻļā§āĻ°ā§ āĻāĻ°ā§)āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻŦā§āĻ¨ā§āĻā§ 20.04 LTS-āĻ āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ā§ āĻĻā§āĻ°ā§āĻŦāĻ˛āĻ¤āĻž āĻāĻžāĻā§ āĻ˛āĻžāĻāĻžāĻ¨ā§ āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŦā§āĻ¨ā§āĻā§ 22.04-dev, Debian 11, openSUSE 15.3, RHEL 8.5, SUSE 15-SP4, āĻāĻŦāĻ Fedora 33-āĻ āĻ
ā§āĻ¯āĻžāĻĄāĻŽāĻŋāĻ¨āĻŋ āĻ¸ā§āĻ āĻāĻ°āĻž āĻĒāĻ°āĻŋāĻŦā§āĻļ āĻĨāĻžāĻāĻ˛ā§āĻ 0-āĻ¤ā§ kernel.unprivileged_bpf_disabled āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°āĨ¤ āĻĻā§āĻ°ā§āĻŦāĻ˛āĻ¤āĻž āĻ
āĻŦāĻ°ā§āĻĻā§āĻ§ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§, āĻāĻĒāĻ¨āĻŋ "sysctl -w kernel.unprivileged_bpf_disabled=1" āĻāĻŽāĻžāĻ¨ā§āĻĄā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻŦāĻŋāĻšā§āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻĻā§āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž BPF āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻā§āĻ˛āĻŋāĻ° āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻ¨āĻŋāĻˇā§āĻā§āĻ°āĻŋāĻ¯āĻŧ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
āĻāĻ¤ā§āĻ¸: opennet.ru