CVE-2024-38564 bpf: Add BPF_PROG_TYPE_CGROUP_SKB attach type enforcement in BPF_LINK_CREATE
Attackers can bypass attach type checks to attach cgroup_skb programs to unauthorized cgroup hooks, potentially escalating privileges or bypassing security controls.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2024-38564?
CVE-2024-38564 is a high-severity missing authorization vulnerability in Linux kernel, published on 19 Jun 2024. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
In the Linux kernel, the following vulnerability has been resolved:
bpf: Add BPF_PROG_TYPE_CGROUP_SKB attach type enforcement in BPF_LINK_CREATE
bpf_prog_attach uses attach_type_to_prog_type to enforce proper attach type for BPF_PROG_TYPE_CGROUP_SKB. link_create uses bpf_prog_get and relies on bpf_prog_attach_check_attach_type to properly verify prog_type <> attach_type association.
Add missing attach_type enforcement for the link_create case. Otherwise, it's currently possible to attach cgroup_skb prog types to other cgroup hooks.
Which versions are affected by CVE-2024-38564?
It affects 1 product.
Linux distribution packages (40)
bpftool-debuginfo Red Hat:rhel_eus:9.2::appstream | All versions | 0:7.0.0-284.96.1.el9_2 |
kernel-64k-debug-debuginfo Red Hat:rhel_eus:9.2::appstream | All versions | 0:5.14.0-284.96.1.el9_2 |
kernel-64k-debug-devel Red Hat:rhel_eus:9.2::appstream | All versions | 0:5.14.0-284.96.1.el9_2 |
kernel-64k-debug-devel-matched Red Hat:rhel_eus:9.2::appstream | All versions | 0:5.14.0-284.96.1.el9_2 |
kernel-64k-debuginfo Red Hat:rhel_eus:9.2::appstream | All versions | 0:5.14.0-284.96.1.el9_2 |
kernel-64k-devel Red Hat:rhel_eus:9.2::appstream | All versions | 0:5.14.0-284.96.1.el9_2 |
kernel-64k-devel-matched Red Hat:rhel_eus:9.2::appstream | All versions | 0:5.14.0-284.96.1.el9_2 |
kernel-debug-debuginfo Red Hat:rhel_eus:9.2::appstream | All versions | 0:5.14.0-284.96.1.el9_2 |
kernel-debug-devel Red Hat:rhel_eus:9.2::appstream | All versions | 0:5.14.0-284.96.1.el9_2 |
kernel-debug-devel-matched Red Hat:rhel_eus:9.2::appstream | All versions | 0:5.14.0-284.96.1.el9_2 |
kernel-debuginfo Red Hat:rhel_eus:9.2::appstream | All versions | 0:5.14.0-284.96.1.el9_2 |
kernel-debuginfo-common-aarch64 Red Hat:rhel_eus:9.2::appstream | All versions | 0:5.14.0-284.96.1.el9_2 |
kernel-debuginfo-common-ppc64le Red Hat:rhel_eus:9.2::appstream | All versions | 0:5.14.0-284.96.1.el9_2 |
kernel-debuginfo-common-s390x Red Hat:rhel_eus:9.2::appstream | All versions | 0:5.14.0-284.96.1.el9_2 |
kernel-debuginfo-common-x86_64 Red Hat:rhel_eus:9.2::appstream | All versions | 0:5.14.0-284.96.1.el9_2 |
kernel-devel Red Hat:rhel_eus:9.2::appstream | All versions | 0:5.14.0-284.96.1.el9_2 |
kernel-devel-matched Red Hat:rhel_eus:9.2::appstream | All versions | 0:5.14.0-284.96.1.el9_2 |
kernel-tools-debuginfo Red Hat:rhel_eus:9.2::appstream | All versions | 0:5.14.0-284.96.1.el9_2 |
kernel-zfcpdump-debuginfo Red Hat:rhel_eus:9.2::appstream | All versions | 0:5.14.0-284.96.1.el9_2 |
kernel-zfcpdump-devel Red Hat:rhel_eus:9.2::appstream | All versions | 0:5.14.0-284.96.1.el9_2 |
kernel-zfcpdump-devel-matched Red Hat:rhel_eus:9.2::appstream | All versions | 0:5.14.0-284.96.1.el9_2 |
perf Red Hat:rhel_eus:9.2::appstream | All versions | 0:5.14.0-284.96.1.el9_2 |
perf-debuginfo Red Hat:rhel_eus:9.2::appstream | All versions | 0:5.14.0-284.96.1.el9_2 |
python3-perf-debuginfo Red Hat:rhel_eus:9.2::appstream | All versions | 0:5.14.0-284.96.1.el9_2 |
rtla Red Hat:rhel_eus:9.2::appstream | All versions | 0:5.14.0-284.96.1.el9_2 |
bpftool Red Hat:rhel_eus:9.2::baseos | All versions | 0:7.0.0-284.96.1.el9_2 |
bpftool-debuginfo Red Hat:rhel_eus:9.2::baseos | All versions | 0:7.0.0-284.96.1.el9_2 |
kernel Red Hat:rhel_eus:9.2::baseos | All versions | 0:5.14.0-284.96.1.el9_2 |
kernel-64k Red Hat:rhel_eus:9.2::baseos | All versions | 0:5.14.0-284.96.1.el9_2 |
kernel-64k-core Red Hat:rhel_eus:9.2::baseos | All versions | 0:5.14.0-284.96.1.el9_2 |
kernel-64k-debug Red Hat:rhel_eus:9.2::baseos | All versions | 0:5.14.0-284.96.1.el9_2 |
kernel-64k-debug-core Red Hat:rhel_eus:9.2::baseos | All versions | 0:5.14.0-284.96.1.el9_2 |
kernel-64k-debug-debuginfo Red Hat:rhel_eus:9.2::baseos | All versions | 0:5.14.0-284.96.1.el9_2 |
kernel-64k-debug-modules Red Hat:rhel_eus:9.2::baseos | All versions | 0:5.14.0-284.96.1.el9_2 |
kernel-64k-debug-modules-core Red Hat:rhel_eus:9.2::baseos | All versions | 0:5.14.0-284.96.1.el9_2 |
kernel-64k-debug-modules-extra Red Hat:rhel_eus:9.2::baseos | All versions | 0:5.14.0-284.96.1.el9_2 |
kernel-64k-debuginfo Red Hat:rhel_eus:9.2::baseos | All versions | 0:5.14.0-284.96.1.el9_2 |
kernel-64k-modules Red Hat:rhel_eus:9.2::baseos | All versions | 0:5.14.0-284.96.1.el9_2 |
kernel-64k-modules-core Red Hat:rhel_eus:9.2::baseos | All versions | 0:5.14.0-284.96.1.el9_2 |
kernel-64k-modules-extra Red Hat:rhel_eus:9.2::baseos | All versions | 0:5.14.0-284.96.1.el9_2 |
Products include Linux kernel.
How do I fix CVE-2024-38564?
Apply the vendor's patch.
Upgrade, and check permissions on every request on the server, not only in the interface. More about Missing authorization.
Is CVE-2024-38564 being exploited?
There is no known exploitation of CVE-2024-38564 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as AZL-68606, BELL-CVE-2024-38564, DEBIAN-CVE-2024-38564, GHSA-h2jq-7w25-hghw, RHSA-2024:10945, RHSA-2024:10946 and 4 more.