vulnerability

Ubuntu: (Multiple Advisories) (CVE-2024-35955): Linux kernel vulnerabilities

Severity
9
CVSS
(AV:N/AC:L/Au:S/C:C/I:C/A:C)
Published
05/20/2024
Added
07/12/2024
Modified
02/18/2025

Description

In the Linux kernel, the following vulnerability has been resolved:

kprobes: Fix possible use-after-free issue on kprobe registration

When unloading a module, its state is changing MODULE_STATE_LIVE ->
MODULE_STATE_GOING -> MODULE_STATE_UNFORMED. Each change will take
a time. `is_module_text_address()` and `__module_text_address()`
works with MODULE_STATE_LIVE and MODULE_STATE_GOING.
If we use `is_module_text_address()` and `__module_text_address()`
separately, there is a chance that the first one is succeeded but the
next one is failed because module->state becomes MODULE_STATE_UNFORMED
between those operations.

In `check_kprobe_address_safe()`, if the second `__module_text_address()`
is failed, that is ignored because it expected a kernel_text address.
But it may have failed simply because module->state has been changed
to MODULE_STATE_UNFORMED. In this case, arm_kprobe() will try to modify
non-exist module text address (use-after-free).

To fix this problem, we should not use separated `is_module_text_address()`
and `__module_text_address()`, but use only `__module_text_address()`
once and do `try_module_get(module)` which is only available with
MODULE_STATE_LIVE.

Solution(s)

ubuntu-upgrade-linux-image-4-15-0-1134-oracleubuntu-upgrade-linux-image-4-15-0-1155-kvmubuntu-upgrade-linux-image-4-15-0-1165-gcpubuntu-upgrade-linux-image-4-15-0-1172-awsubuntu-upgrade-linux-image-4-15-0-1180-azureubuntu-upgrade-linux-image-4-15-0-228-genericubuntu-upgrade-linux-image-4-15-0-228-lowlatencyubuntu-upgrade-linux-image-5-15-0-1035-xilinx-zynqmpubuntu-upgrade-linux-image-5-15-0-1048-gkeopubuntu-upgrade-linux-image-5-15-0-1058-ibmubuntu-upgrade-linux-image-5-15-0-1058-raspiubuntu-upgrade-linux-image-5-15-0-1060-intel-iotgubuntu-upgrade-linux-image-5-15-0-1060-nvidiaubuntu-upgrade-linux-image-5-15-0-1060-nvidia-lowlatencyubuntu-upgrade-linux-image-5-15-0-1062-gkeubuntu-upgrade-linux-image-5-15-0-1062-kvmubuntu-upgrade-linux-image-5-15-0-1063-oracleubuntu-upgrade-linux-image-5-15-0-1064-gcpubuntu-upgrade-linux-image-5-15-0-1065-awsubuntu-upgrade-linux-image-5-15-0-1065-gcpubuntu-upgrade-linux-image-5-15-0-1068-azureubuntu-upgrade-linux-image-5-15-0-1068-azure-fdeubuntu-upgrade-linux-image-5-15-0-116-genericubuntu-upgrade-linux-image-5-15-0-116-generic-64kubuntu-upgrade-linux-image-5-15-0-116-generic-lpaeubuntu-upgrade-linux-image-5-15-0-116-lowlatencyubuntu-upgrade-linux-image-5-15-0-116-lowlatency-64kubuntu-upgrade-linux-image-5-4-0-1040-iotubuntu-upgrade-linux-image-5-4-0-1047-xilinx-zynqmpubuntu-upgrade-linux-image-5-4-0-1075-ibmubuntu-upgrade-linux-image-5-4-0-1088-bluefieldubuntu-upgrade-linux-image-5-4-0-1095-gkeopubuntu-upgrade-linux-image-5-4-0-1112-raspiubuntu-upgrade-linux-image-5-4-0-1116-kvmubuntu-upgrade-linux-image-5-4-0-1127-oracleubuntu-upgrade-linux-image-5-4-0-1128-awsubuntu-upgrade-linux-image-5-4-0-1132-gcpubuntu-upgrade-linux-image-5-4-0-1133-azureubuntu-upgrade-linux-image-5-4-0-189-genericubuntu-upgrade-linux-image-5-4-0-189-generic-lpaeubuntu-upgrade-linux-image-5-4-0-189-lowlatencyubuntu-upgrade-linux-image-6-8-0-1006-gkeubuntu-upgrade-linux-image-6-8-0-1007-intelubuntu-upgrade-linux-image-6-8-0-1007-raspiubuntu-upgrade-linux-image-6-8-0-1008-ibmubuntu-upgrade-linux-image-6-8-0-1008-oemubuntu-upgrade-linux-image-6-8-0-1008-oracleubuntu-upgrade-linux-image-6-8-0-1008-oracle-64kubuntu-upgrade-linux-image-6-8-0-1009-nvidiaubuntu-upgrade-linux-image-6-8-0-1009-nvidia-64kubuntu-upgrade-linux-image-6-8-0-1010-azureubuntu-upgrade-linux-image-6-8-0-1010-azure-fdeubuntu-upgrade-linux-image-6-8-0-1010-gcpubuntu-upgrade-linux-image-6-8-0-1011-awsubuntu-upgrade-linux-image-6-8-0-38-genericubuntu-upgrade-linux-image-6-8-0-38-generic-64kubuntu-upgrade-linux-image-6-8-0-38-lowlatencyubuntu-upgrade-linux-image-6-8-0-38-lowlatency-64kubuntu-upgrade-linux-image-awsubuntu-upgrade-linux-image-aws-hweubuntu-upgrade-linux-image-aws-lts-18-04ubuntu-upgrade-linux-image-aws-lts-20-04ubuntu-upgrade-linux-image-aws-lts-22-04ubuntu-upgrade-linux-image-azureubuntu-upgrade-linux-image-azure-cvmubuntu-upgrade-linux-image-azure-fdeubuntu-upgrade-linux-image-azure-fde-lts-22-04ubuntu-upgrade-linux-image-azure-lts-18-04ubuntu-upgrade-linux-image-azure-lts-20-04ubuntu-upgrade-linux-image-azure-lts-22-04ubuntu-upgrade-linux-image-bluefieldubuntu-upgrade-linux-image-gcpubuntu-upgrade-linux-image-gcp-lts-18-04ubuntu-upgrade-linux-image-gcp-lts-20-04ubuntu-upgrade-linux-image-gcp-lts-22-04ubuntu-upgrade-linux-image-genericubuntu-upgrade-linux-image-generic-64kubuntu-upgrade-linux-image-generic-64k-hwe-20-04ubuntu-upgrade-linux-image-generic-64k-hwe-24-04ubuntu-upgrade-linux-image-generic-hwe-16-04ubuntu-upgrade-linux-image-generic-hwe-18-04ubuntu-upgrade-linux-image-generic-hwe-20-04ubuntu-upgrade-linux-image-generic-hwe-24-04ubuntu-upgrade-linux-image-generic-lpaeubuntu-upgrade-linux-image-generic-lpae-hwe-20-04ubuntu-upgrade-linux-image-gkeubuntu-upgrade-linux-image-gke-5-15ubuntu-upgrade-linux-image-gkeopubuntu-upgrade-linux-image-gkeop-5-15ubuntu-upgrade-linux-image-gkeop-5-4ubuntu-upgrade-linux-image-ibmubuntu-upgrade-linux-image-ibm-classicubuntu-upgrade-linux-image-ibm-lts-20-04ubuntu-upgrade-linux-image-ibm-lts-24-04ubuntu-upgrade-linux-image-intelubuntu-upgrade-linux-image-intel-iotgubuntu-upgrade-linux-image-kvmubuntu-upgrade-linux-image-lowlatencyubuntu-upgrade-linux-image-lowlatency-64kubuntu-upgrade-linux-image-lowlatency-64k-hwe-20-04ubuntu-upgrade-linux-image-lowlatency-hwe-16-04ubuntu-upgrade-linux-image-lowlatency-hwe-18-04ubuntu-upgrade-linux-image-lowlatency-hwe-20-04ubuntu-upgrade-linux-image-nvidiaubuntu-upgrade-linux-image-nvidia-64kubuntu-upgrade-linux-image-nvidia-lowlatencyubuntu-upgrade-linux-image-oemubuntu-upgrade-linux-image-oem-20-04ubuntu-upgrade-linux-image-oem-20-04bubuntu-upgrade-linux-image-oem-20-04cubuntu-upgrade-linux-image-oem-20-04dubuntu-upgrade-linux-image-oem-24-04ubuntu-upgrade-linux-image-oem-24-04aubuntu-upgrade-linux-image-oem-osp1ubuntu-upgrade-linux-image-oracleubuntu-upgrade-linux-image-oracle-64kubuntu-upgrade-linux-image-oracle-lts-18-04ubuntu-upgrade-linux-image-oracle-lts-20-04ubuntu-upgrade-linux-image-oracle-lts-22-04ubuntu-upgrade-linux-image-raspiubuntu-upgrade-linux-image-raspi-hwe-18-04ubuntu-upgrade-linux-image-raspi-nolpaeubuntu-upgrade-linux-image-raspi2ubuntu-upgrade-linux-image-snapdragon-hwe-18-04ubuntu-upgrade-linux-image-virtualubuntu-upgrade-linux-image-virtual-hwe-16-04ubuntu-upgrade-linux-image-virtual-hwe-18-04ubuntu-upgrade-linux-image-virtual-hwe-20-04ubuntu-upgrade-linux-image-virtual-hwe-24-04ubuntu-upgrade-linux-image-xilinx-zynqmp
Title
NEW

Explore Exposure Command

Confidently identify and prioritize exposures from endpoint to cloud with full attack surface visibility and threat-aware risk context.