Red Hat Security Advisory: kernel security update
🔗 CVE IDs covered (18)
📋 Description
CVE-2021-33655 — kernel: malicious data for FBIOPUT_VSCREENINFO ioctl may cause OOB write memory CVE-2022-2196 — kernel: KVM: nVMX: missing IBPB when exiting from nested guest can lead to Spectre v2 attacks CVE-2022-3239 — kernel: media: em28xx: initialize refcount before kref_get CVE-2022-3625 — kernel: use-after-free after failed devlink reload in devlink_param_get CVE-2022-20368 — kernel: net/packet: slab-out-of-bounds access in packet_recvmsg() CVE-2022-23960 — hw: cpu: arm64: Spectre-BHB CVE-2022-29581 — kernel: use-after-free due to improper update of reference count in net/sched/cls_u32.c CVE-2022-36402 — kernel: vmwgfx: integer overflow in vmwgfx_execbuf.c CVE-2022-38096 — kernel: vmwgfx: NULL pointer dereference in vmw_cmd_dx_define_query CVE-2022-38457 — kernel: vmwgfx: use-after-free in vmw_cmd_res_check CVE-2022-40133 — kernel: vmwgfx: use-after-free in vmw_execbuf_tie_context CVE-2023-1074 — kernel: sctp: fail if no bound addresses can be used for a given scope CVE-2023-6546 — kernel: GSM multiplexing race condition leads to privilege escalation CVE-2023-6931 — kernel: Out of boundary write in perf_read_group() as result of overflow a perf_event's read_size CVE-2023-30456 — kernel: KVM: nVMX: missing consistency checks for CR0 and CR4 CVE-2023-31084 — kernel: blocking operation in dvb_frontend_get_event and wait_event_interruptible CVE-2023-51042 — kernel: use-after-free in amdgpu_cs_wait_all_fences in drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c CVE-2024-1086 — kernel: nf_tables: use-after-free vulnerability in the nft_verdict_init() function
🎯 Affected products132
- Red Hat CodeReady Linux Builder EUS (v.8.6)
- Red Hat Enterprise Linux BaseOS EUS (v.8.6)
- Red Hat Virtualization 4 Hypervisor for RHEL 8
- bpftool-0:4.18.0-372.93.1.el8_6.aarch64 as a component of Red Hat Enterprise Linux BaseOS EUS (v.8.6)
- bpftool-0:4.18.0-372.93.1.el8_6.ppc64le as a component of Red Hat Enterprise Linux BaseOS EUS (v.8.6)
- bpftool-0:4.18.0-372.93.1.el8_6.s390x as a component of Red Hat Enterprise Linux BaseOS EUS (v.8.6)
- bpftool-0:4.18.0-372.93.1.el8_6.x86_64 as a component of Red Hat Enterprise Linux BaseOS EUS (v.8.6)
- bpftool-debuginfo-0:4.18.0-372.93.1.el8_6.aarch64 as a component of Red Hat CodeReady Linux Builder EUS (v.8.6)
- bpftool-debuginfo-0:4.18.0-372.93.1.el8_6.aarch64 as a component of Red Hat Enterprise Linux BaseOS EUS (v.8.6)
- bpftool-debuginfo-0:4.18.0-372.93.1.el8_6.ppc64le as a component of Red Hat CodeReady Linux Builder EUS (v.8.6)
- bpftool-debuginfo-0:4.18.0-372.93.1.el8_6.ppc64le as a component of Red Hat Enterprise Linux BaseOS EUS (v.8.6)
- bpftool-debuginfo-0:4.18.0-372.93.1.el8_6.s390x as a component of Red Hat Enterprise Linux BaseOS EUS (v.8.6)
- bpftool-debuginfo-0:4.18.0-372.93.1.el8_6.x86_64 as a component of Red Hat CodeReady Linux Builder EUS (v.8.6)
- bpftool-debuginfo-0:4.18.0-372.93.1.el8_6.x86_64 as a component of Red Hat Enterprise Linux BaseOS EUS (v.8.6)
- bpftool-debuginfo-0:4.18.0-372.93.1.el8_6.x86_64 as a component of Red Hat Virtualization 4 Hypervisor for RHEL 8
- kernel-0:4.18.0-372.93.1.el8_6.aarch64 as a component of Red Hat Enterprise Linux BaseOS EUS (v.8.6)
- kernel-0:4.18.0-372.93.1.el8_6.ppc64le as a component of Red Hat Enterprise Linux BaseOS EUS (v.8.6)
- kernel-0:4.18.0-372.93.1.el8_6.s390x as a component of Red Hat Enterprise Linux BaseOS EUS (v.8.6)
- kernel-0:4.18.0-372.93.1.el8_6.src as a component of Red Hat Enterprise Linux BaseOS EUS (v.8.6)
- kernel-0:4.18.0-372.93.1.el8_6.x86_64 as a component of Red Hat Enterprise Linux BaseOS EUS (v.8.6)
- kernel-abi-stablelists-0:4.18.0-372.93.1.el8_6.noarch as a component of Red Hat Enterprise Linux BaseOS EUS (v.8.6)
- kernel-core-0:4.18.0-372.93.1.el8_6.aarch64 as a component of Red Hat Enterprise Linux BaseOS EUS (v.8.6)
- kernel-core-0:4.18.0-372.93.1.el8_6.ppc64le as a component of Red Hat Enterprise Linux BaseOS EUS (v.8.6)
- kernel-core-0:4.18.0-372.93.1.el8_6.s390x as a component of Red Hat Enterprise Linux BaseOS EUS (v.8.6)
- kernel-core-0:4.18.0-372.93.1.el8_6.x86_64 as a component of Red Hat Enterprise Linux BaseOS EUS (v.8.6)
- kernel-debug-0:4.18.0-372.93.1.el8_6.aarch64 as a component of Red Hat Enterprise Linux BaseOS EUS (v.8.6)
- kernel-debug-0:4.18.0-372.93.1.el8_6.ppc64le as a component of Red Hat Enterprise Linux BaseOS EUS (v.8.6)
- kernel-debug-0:4.18.0-372.93.1.el8_6.s390x as a component of Red Hat Enterprise Linux BaseOS EUS (v.8.6)
- kernel-debug-0:4.18.0-372.93.1.el8_6.x86_64 as a component of Red Hat Enterprise Linux BaseOS EUS (v.8.6)
- kernel-debug-core-0:4.18.0-372.93.1.el8_6.aarch64 as a component of Red Hat Enterprise Linux BaseOS EUS (v.8.6)
- +102 more not shown
✅ Remediation
For details on how to apply this update, which includes the changes described in this advisory, refer to: https://access.redhat.com/articles/11258 The system must be rebooted for this update to take effect. Workaround: Mitigation for this issue is either not available or the currently available options don't meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base, or stability. Workaround: This vulnerability can be mitigated by disabling the nested virtualization feature: ``` # modprobe -r kvm_intel # modprobe kvm_intel nested=0 ``` Workaround: To mitigate this issue, prevent module em28xx from being loaded. Please see https://access.redhat.com/solutions/41278 for how to blacklist a kernel module to prevent it from loading automatically. Workaround: The mitigation is to disable CAP_NET_RAW capability for regular users and executables to prevent access to raw packet sockets (AF_PACKET). On Red Hat Enterprise Linux 8, the mitigation is to either disable unprivileged user namespaces with `sysctl -w user.max_user_namespaces=0` or network namespaces with `sysctl -w user.max_net_namespaces=0`. For more information on how to set sysctl variables on Red Hat Enterprise Linux, please refer to https://access.redhat.com/solutions/2587. Workaround: Disabling unprivileged eBPF effectively mitigates the known attack vectors for exploiting intra-mode branch injections attacks. The default Red Hat Enterprise Linux kernel prevents unprivileged users from being able to use eBPF by the kernel.unprivileged_bpf_disabled sysctl. For the Red Hat Enterprise Linux 7, the eBPF for unprivileged users is always disabled. For the Red Hat Enterprise Linux 8 to confirm the current state, inspect the sysctl with the command: # cat /proc/sys/kernel/unprivileged_bpf_disabled The setting of 1 would mean that unprivileged users can not use eBPF, mitigating the flaw. Workaround: To mitigate this issue, prevent the module cls_u32 from being loaded by blacklisting the module to prevent it from loading automatically. ~~~ https://access.redhat.com/solutions/41278 ~~~ Workaround: To mitigate this issue, it is possible to prevent the affected code from being loaded by blacklisting the vmwgfx kernel module. For instructions relating to blacklisting a kernel module, please see https://access.redhat.com/solutions/41278. Workaround: To mitigate this issue, prevent module sctp from being loaded. Please see https://access.redhat.com/solutions/41278 for how to blacklist a kernel module to prevent it from loading automatically. Workaround: This flaw can be mitigated by preventing the affected `n_gsm` kernel module from being loaded. For instructions on how to blacklist a kernel module, please see https://access.redhat.com/solutions/41278. Workaround: It is not possible to trigger this issue with the default kernel.perf_event_paranoid sysctl value 2. You may check it with: cat /proc/sys/kernel/perf_event_paranoid Workaround: To mitigate this issue, prevent the amdgpu module from loading. Please see https://access.redhat.com/solutions/41278 for more information on how to prevent kernel modules from loading. Note that if a system has an AMD GPU, this may make certain features of that GPU unavailable. Workaround: 1. This flaw can be mitigated by preventing the affected netfilter (nf_tables) kernel module from being loaded. For instructions on how to blacklist a kernel module, please see https://access.redhat.com/solutions/41278. 2. If the module cannot be disabled, on non-containerized deployments of Red Hat Enterprise Linux, the mitigation is to disable user namespaces: ``` # echo "user.max_user_namespaces=0" > /etc/sysctl.d/userns.conf # sysctl -p /etc/sysctl.d/userns.conf ``` On containerized deployments, such as Red Hat OpenShift Container Platform, do not use the second mitigation (disabling user namespaces) as the functionality is needed to be enabled. The first mitigation (blacklisting nf_tables) is still viable for containerized deployments, providing the environment is not using netfilter.
🔗 References (21)
- selfhttps://access.redhat.com/errata/RHSA-2024:0930
- externalhttps://access.redhat.com/security/updates/classification/#important
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2062284
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2088021
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2108691
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2123695
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2127985
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2133451
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2133452
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2133453
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2133455
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2144720
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2160023
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2173430
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2188468
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2213139
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2252731
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2255498
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2259866
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=2262126
- selfhttps://security.access.redhat.com/data/csaf/v2/advisories/2024/rhsa-2024_0930.json