In the Linux kernel, the following vulnerability has been resolved: bpf: Reject structops registration that uses module ptr and the module btfid is missing There is a UAF report in the bpfstructops when CONFIGMODULES=n. In particular, the report is on tcpcongestionops that has a "struct module *owner" member. For structops that has a "struct module *owner" member, it can be extended either by the regular kernel module or by the bpfstructops. bpftrymoduleget() will be used to do the refcounting and different refcount is done based on the owner pointer. When CONFIGMODULES=n, the btfid of the "struct module" is missing: WARN: resolvebtfids: unresolved symbol module Thus, the bpftrymoduleget() cannot do the correct refcounting. Not all subsystem's structops requires the "struct module *owner" member. e.g. the recent schedextops. This patch is to disable bpfstructops registration if the structops has the "struct module *" member and the "struct module" btfid is missing. The btftypeisfwd() helper is moved to the btf.h header file for this test. This has happened since the beginning of bpfstructops which has gone through many changes. The Fixes tag is set to a recent commit that this patch can apply cleanly. Considering CONFIGMODULES=n is not common and the age of the issue, targeting for bpf-next also.
{ "availability": "No subscription required", "binaries": [ { "binary_name": "linux-azure-6.11-cloud-tools-6.11.0-1015", "binary_version": "6.11.0-1015.15~24.04.1" }, { "binary_name": "linux-azure-6.11-headers-6.11.0-1015", "binary_version": "6.11.0-1015.15~24.04.1" }, { "binary_name": "linux-azure-6.11-tools-6.11.0-1015", "binary_version": "6.11.0-1015.15~24.04.1" }, { "binary_name": "linux-buildinfo-6.11.0-1015-azure", "binary_version": "6.11.0-1015.15~24.04.1" }, { "binary_name": "linux-cloud-tools-6.11.0-1015-azure", "binary_version": "6.11.0-1015.15~24.04.1" }, { "binary_name": "linux-headers-6.11.0-1015-azure", "binary_version": "6.11.0-1015.15~24.04.1" }, { "binary_name": "linux-image-unsigned-6.11.0-1015-azure", "binary_version": "6.11.0-1015.15~24.04.1" }, { "binary_name": "linux-image-unsigned-6.11.0-1015-azure-dbgsym", "binary_version": "6.11.0-1015.15~24.04.1" }, { "binary_name": "linux-modules-6.11.0-1015-azure", "binary_version": "6.11.0-1015.15~24.04.1" }, { "binary_name": "linux-modules-extra-6.11.0-1015-azure", "binary_version": "6.11.0-1015.15~24.04.1" }, { "binary_name": "linux-modules-iwlwifi-6.11.0-1015-azure", "binary_version": "6.11.0-1015.15~24.04.1" }, { "binary_name": "linux-tools-6.11.0-1015-azure", "binary_version": "6.11.0-1015.15~24.04.1" } ] }
{ "availability": "No subscription required", "binaries": [ { "binary_name": "linux-buildinfo-6.11.0-1015-gcp", "binary_version": "6.11.0-1015.15~24.04.1" }, { "binary_name": "linux-buildinfo-6.11.0-1015-gcp-64k", "binary_version": "6.11.0-1015.15~24.04.1" }, { "binary_name": "linux-gcp-6.11-headers-6.11.0-1015", "binary_version": "6.11.0-1015.15~24.04.1" }, { "binary_name": "linux-gcp-6.11-lib-rust-6.11.0-1015-gcp", "binary_version": "6.11.0-1015.15~24.04.1" }, { "binary_name": "linux-gcp-6.11-tools-6.11.0-1015", "binary_version": "6.11.0-1015.15~24.04.1" }, { "binary_name": "linux-headers-6.11.0-1015-gcp", "binary_version": "6.11.0-1015.15~24.04.1" }, { "binary_name": "linux-headers-6.11.0-1015-gcp-64k", "binary_version": "6.11.0-1015.15~24.04.1" }, { "binary_name": "linux-image-unsigned-6.11.0-1015-gcp", "binary_version": "6.11.0-1015.15~24.04.1" }, { "binary_name": "linux-image-unsigned-6.11.0-1015-gcp-64k", "binary_version": "6.11.0-1015.15~24.04.1" }, { "binary_name": "linux-image-unsigned-6.11.0-1015-gcp-64k-dbgsym", "binary_version": "6.11.0-1015.15~24.04.1" }, { "binary_name": "linux-image-unsigned-6.11.0-1015-gcp-dbgsym", "binary_version": "6.11.0-1015.15~24.04.1" }, { "binary_name": "linux-modules-6.11.0-1015-gcp", "binary_version": "6.11.0-1015.15~24.04.1" }, { "binary_name": "linux-modules-6.11.0-1015-gcp-64k", "binary_version": "6.11.0-1015.15~24.04.1" }, { "binary_name": "linux-modules-extra-6.11.0-1015-gcp", "binary_version": "6.11.0-1015.15~24.04.1" }, { "binary_name": "linux-modules-extra-6.11.0-1015-gcp-64k", "binary_version": "6.11.0-1015.15~24.04.1" }, { "binary_name": "linux-tools-6.11.0-1015-gcp", "binary_version": "6.11.0-1015.15~24.04.1" }, { "binary_name": "linux-tools-6.11.0-1015-gcp-64k", "binary_version": "6.11.0-1015.15~24.04.1" } ] }
{ "availability": "No subscription required", "binaries": [ { "binary_name": "linux-buildinfo-6.11.0-26-generic", "binary_version": "6.11.0-26.26~24.04.1" }, { "binary_name": "linux-buildinfo-6.11.0-26-generic-64k", "binary_version": "6.11.0-26.26~24.04.1" }, { "binary_name": "linux-cloud-tools-6.11.0-26-generic", "binary_version": "6.11.0-26.26~24.04.1" }, { "binary_name": "linux-headers-6.11.0-26-generic", "binary_version": "6.11.0-26.26~24.04.1" }, { "binary_name": "linux-headers-6.11.0-26-generic-64k", "binary_version": "6.11.0-26.26~24.04.1" }, { "binary_name": "linux-hwe-6.11-cloud-tools-6.11.0-26", "binary_version": "6.11.0-26.26~24.04.1" }, { "binary_name": "linux-hwe-6.11-headers-6.11.0-26", "binary_version": "6.11.0-26.26~24.04.1" }, { "binary_name": "linux-hwe-6.11-lib-rust-6.11.0-26-generic", "binary_version": "6.11.0-26.26~24.04.1" }, { "binary_name": "linux-hwe-6.11-tools-6.11.0-26", "binary_version": "6.11.0-26.26~24.04.1" }, { "binary_name": "linux-image-6.11.0-26-generic", "binary_version": "6.11.0-26.26~24.04.1" }, { "binary_name": "linux-image-6.11.0-26-generic-dbgsym", "binary_version": "6.11.0-26.26~24.04.1" }, { "binary_name": "linux-image-unsigned-6.11.0-26-generic", "binary_version": "6.11.0-26.26~24.04.1" }, { "binary_name": "linux-image-unsigned-6.11.0-26-generic-64k", "binary_version": "6.11.0-26.26~24.04.1" }, { "binary_name": "linux-image-unsigned-6.11.0-26-generic-64k-dbgsym", "binary_version": "6.11.0-26.26~24.04.1" }, { "binary_name": "linux-image-unsigned-6.11.0-26-generic-dbgsym", "binary_version": "6.11.0-26.26~24.04.1" }, { "binary_name": "linux-modules-6.11.0-26-generic", "binary_version": "6.11.0-26.26~24.04.1" }, { "binary_name": "linux-modules-6.11.0-26-generic-64k", "binary_version": "6.11.0-26.26~24.04.1" }, { "binary_name": "linux-modules-extra-6.11.0-26-generic", "binary_version": "6.11.0-26.26~24.04.1" }, { "binary_name": "linux-modules-ipu6-6.11.0-26-generic", "binary_version": "6.11.0-26.26~24.04.1" }, { "binary_name": "linux-modules-ipu7-6.11.0-26-generic", "binary_version": "6.11.0-26.26~24.04.1" }, { "binary_name": "linux-modules-iwlwifi-6.11.0-26-generic", "binary_version": "6.11.0-26.26~24.04.1" }, { "binary_name": "linux-modules-usbio-6.11.0-26-generic", "binary_version": "6.11.0-26.26~24.04.1" }, { "binary_name": "linux-modules-vision-6.11.0-26-generic", "binary_version": "6.11.0-26.26~24.04.1" }, { "binary_name": "linux-tools-6.11.0-26-generic", "binary_version": "6.11.0-26.26~24.04.1" }, { "binary_name": "linux-tools-6.11.0-26-generic-64k", "binary_version": "6.11.0-26.26~24.04.1" } ] }
{ "availability": "No subscription required", "binaries": [ { "binary_name": "linux-buildinfo-6.11.0-1014-lowlatency", "binary_version": "6.11.0-1014.15~24.04.1" }, { "binary_name": "linux-buildinfo-6.11.0-1014-lowlatency-64k", "binary_version": "6.11.0-1014.15~24.04.1" }, { "binary_name": "linux-cloud-tools-6.11.0-1014-lowlatency", "binary_version": "6.11.0-1014.15~24.04.1" }, { "binary_name": "linux-headers-6.11.0-1014-lowlatency", "binary_version": "6.11.0-1014.15~24.04.1" }, { "binary_name": "linux-headers-6.11.0-1014-lowlatency-64k", "binary_version": "6.11.0-1014.15~24.04.1" }, { "binary_name": "linux-image-unsigned-6.11.0-1014-lowlatency", "binary_version": "6.11.0-1014.15~24.04.1" }, { "binary_name": "linux-image-unsigned-6.11.0-1014-lowlatency-64k", "binary_version": "6.11.0-1014.15~24.04.1" }, { "binary_name": "linux-image-unsigned-6.11.0-1014-lowlatency-64k-dbgsym", "binary_version": "6.11.0-1014.15~24.04.1" }, { "binary_name": "linux-image-unsigned-6.11.0-1014-lowlatency-dbgsym", "binary_version": "6.11.0-1014.15~24.04.1" }, { "binary_name": "linux-lowlatency-hwe-6.11-cloud-tools-6.11.0-1014", "binary_version": "6.11.0-1014.15~24.04.1" }, { "binary_name": "linux-lowlatency-hwe-6.11-headers-6.11.0-1014", "binary_version": "6.11.0-1014.15~24.04.1" }, { "binary_name": "linux-lowlatency-hwe-6.11-lib-rust-6.11.0-1014-lowlatency", "binary_version": "6.11.0-1014.15~24.04.1" }, { "binary_name": "linux-lowlatency-hwe-6.11-tools-6.11.0-1014", "binary_version": "6.11.0-1014.15~24.04.1" }, { "binary_name": "linux-modules-6.11.0-1014-lowlatency", "binary_version": "6.11.0-1014.15~24.04.1" }, { "binary_name": "linux-modules-6.11.0-1014-lowlatency-64k", "binary_version": "6.11.0-1014.15~24.04.1" }, { "binary_name": "linux-modules-iwlwifi-6.11.0-1014-lowlatency", "binary_version": "6.11.0-1014.15~24.04.1" }, { "binary_name": "linux-tools-6.11.0-1014-lowlatency", "binary_version": "6.11.0-1014.15~24.04.1" }, { "binary_name": "linux-tools-6.11.0-1014-lowlatency-64k", "binary_version": "6.11.0-1014.15~24.04.1" } ] }
{ "availability": "No subscription required", "binaries": [ { "binary_name": "linux-buildinfo-6.11.0-1022-oem", "binary_version": "6.11.0-1022.22" }, { "binary_name": "linux-headers-6.11.0-1022-oem", "binary_version": "6.11.0-1022.22" }, { "binary_name": "linux-image-unsigned-6.11.0-1022-oem", "binary_version": "6.11.0-1022.22" }, { "binary_name": "linux-image-unsigned-6.11.0-1022-oem-dbgsym", "binary_version": "6.11.0-1022.22" }, { "binary_name": "linux-modules-6.11.0-1022-oem", "binary_version": "6.11.0-1022.22" }, { "binary_name": "linux-modules-ipu6-6.11.0-1022-oem", "binary_version": "6.11.0-1022.22" }, { "binary_name": "linux-modules-ipu7-6.11.0-1022-oem", "binary_version": "6.11.0-1022.22" }, { "binary_name": "linux-modules-iwlwifi-6.11.0-1022-oem", "binary_version": "6.11.0-1022.22" }, { "binary_name": "linux-modules-usbio-6.11.0-1022-oem", "binary_version": "6.11.0-1022.22" }, { "binary_name": "linux-modules-vision-6.11.0-1022-oem", "binary_version": "6.11.0-1022.22" }, { "binary_name": "linux-oem-6.11-headers-6.11.0-1022", "binary_version": "6.11.0-1022.22" }, { "binary_name": "linux-oem-6.11-tools-6.11.0-1022", "binary_version": "6.11.0-1022.22" }, { "binary_name": "linux-tools-6.11.0-1022-oem", "binary_version": "6.11.0-1022.22" } ] }