Description
In the Linux kernel, the following vulnerability has been resolved:
firmware: arm_scmi: Fix double free in SMC transport cleanup path
When the generic SCMI code tears down a channel, it calls the chan_free
callback function, defined by each transport. Since multiple protocols
might share the same transport_info member, chan_free() might want to
clean up the same member multiple times within the given SCMI transport
implementation. In this case, it is SMC transport. This will lead to a NULL
pointer dereference at the second time:
| scmi_protocol scmi_dev.1: Enabled polling mode TX channel - prot_id:16
| arm-scmi firmware:scmi: SCMI Notifications - Core Enabled.
| arm-scmi firmware:scmi: unable to communicate with SCMI
| Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000
| Mem abort info:
| ESR = 0x0000000096000004
| EC = 0x25: DABT (current EL), IL = 32 bits
| SET = 0, FnV = 0
| EA = 0, S1PTW = 0
| FSC = 0x04: level 0 translation fault
| Data abort info:
| ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000
| CM = 0, WnR = 0, TnD = 0, TagAccess = 0
| GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0
| user pgtable: 4k pages, 48-bit VAs, pgdp=0000000881ef8000
| [0000000000000000] pgd=0000000000000000, p4d=0000000000000000
| Internal error: Oops: 0000000096000004 [#1] PREEMPT SMP
| Modules linked in:
| CPU: 4 PID: 1 Comm: swapper/0 Not tainted 6.7.0-rc2-00124-g455ef3d016c9-dirty #793
| Hardware name: FVP Base RevC (DT)
| pstate: 61400009 (nZCv daif +PAN -UAO -TCO +DIT -SSBS BTYPE=--)
| pc : smc_chan_free+0x3c/0x6c
| lr : smc_chan_free+0x3c/0x6c
| Call trace:
| smc_chan_free+0x3c/0x6c
| idr_for_each+0x68/0xf8
| scmi_cleanup_channels.isra.0+0x2c/0x58
| scmi_probe+0x434/0x734
| platform_probe+0x68/0xd8
| really_probe+0x110/0x27c
| __driver_probe_device+0x78/0x12c
| driver_probe_device+0x3c/0x118
| __driver_attach+0x74/0x128
| bus_for_each_dev+0x78/0xe0
| driver_attach+0x24/0x30
| bus_add_driver+0xe4/0x1e8
| driver_register+0x60/0x128
| __platform_driver_register+0x28/0x34
| scmi_driver_init+0x84/0xc0
| do_one_initcall+0x78/0x33c
| kernel_init_freeable+0x2b8/0x51c
| kernel_init+0x24/0x130
| ret_from_fork+0x10/0x20
| Code: f0004701 910a0021 aa1403e5 97b91c70 (b9400280)
| ---[ end trace 0000000000000000 ]---
Simply check for the struct pointer being NULL before trying to access
its members, to avoid this situation.
This was found when a transport doesn't really work (for instance no SMC
service), the probe routines then tries to clean up, and triggers a crash.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Linux | Linux | 5.8 | 6.1.83 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | linux | 6.7.12-1 | — |
| Debian 13 | linux | 6.7.12-1 | — |
| Debian 12 | linux | 6.1.85-1 | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Nvidia-BlueField 22.04 LTS | linux-bluefield | 5.15.0-1056.58 | — |
| Ubuntu 24.04 LTS | linux | 6.8.0-35.35 | USN-6816-1 |
| Ubuntu 24.04 LTS | linux-aws | 6.8.0-1009.9 | USN-6817-1 |
| Ubuntu 24.04 LTS | linux-azure | 6.8.0-1008.8 | USN-6817-3 |
| Ubuntu 24.04 LTS | linux-gcp | 6.8.0-1008.9 | USN-6817-1 |
| Ubuntu 24.04 LTS | linux-gke | 6.8.0-1004.7 | USN-6817-3 |
| Ubuntu 24.04 LTS | linux-ibm +2 | 6.8.0-1006.6 | USN-6878-1, USN-6817-2, USN-6816-1 |
| Ubuntu 24.04 LTS | linux-raspi | 6.8.0-1005.5 | USN-6816-1 |
| Ubuntu 24.04 LTS | linux-riscv +1 | 6.8.0-35.35.1 | USN-6816-1 |
| Ubuntu 22.04 LTS | linux +1 | 5.15.0-125.135 | USN-7100-1 |
| Ubuntu 22.04 LTS | linux-aws | 5.15.0-1072.78 | USN-7100-2 |
| Ubuntu 22.04 LTS | linux-azure | 5.15.0-1075.84 | USN-7123-1 |
| Ubuntu 22.04 LTS | linux-azure-fde | 5.15.0-1076.85.1 | — |
| Ubuntu 22.04 LTS | linux-gcp | 5.15.0-1071.79 | USN-7100-1 |
| Ubuntu 22.04 LTS | linux-gke | 5.15.0-1069.75 | USN-7100-1 |
| Ubuntu 22.04 LTS | linux-gkeop | 5.15.0-1055.62 | USN-7100-1 |
| Ubuntu 22.04 LTS | linux-ibm +1 | 5.15.0-1065.68 | USN-7100-1 |
| Ubuntu 22.04 LTS | linux-intel-iotg | 5.15.0-1067.73 | USN-7144-1 |
| Ubuntu 22.04 LTS | linux-kvm | 5.15.0-1069.74 | USN-7100-1 |
| Ubuntu 22.04 LTS | linux-nvidia | 5.15.0-1067.68 | USN-7100-1 |
| Ubuntu 22.04 LTS | linux-nvidia-tegra | 5.15.0-1032.32 | — |
| Ubuntu 22.04 LTS | linux-nvidia-tegra-igx | 5.15.0-1020.20 | — |
| Ubuntu 22.04 LTS | linux-oracle | 5.15.0-1070.76 | USN-7100-1 |
| Ubuntu 22.04 LTS | linux-riscv +31 | No fix yet | — |
| Ubuntu 22.04 LTS | linux-xilinx-zynqmp | 5.15.0-1038.42 | USN-7100-1 |
| Ubuntu 20.04 LTS | linux-aws-5.15 | 5.15.0-1072.78~20.04.1 | USN-7100-1 |
| Ubuntu 20.04 LTS | linux-azure-5.15 | 5.15.0-1078.87~20.04.1 | USN-7194-1 |
| Ubuntu 20.04 LTS | linux-gcp-5.15 | 5.15.0-1071.79~20.04.1 | USN-7100-1 |
| Ubuntu 20.04 LTS | linux-gke +26 | No fix yet | — |
| Ubuntu 20.04 LTS | linux-gkeop-5.15 | 5.15.0-1055.62~20.04.1 | USN-7100-1 |
| Ubuntu 20.04 LTS | linux-hwe-5.15 +1 | 5.15.0-125.135~20.04.1 | USN-7100-1 |
| Ubuntu 20.04 LTS | linux-ibm-5.15 | 5.15.0-1065.68~20.04.1 | USN-7100-1 |
| Ubuntu 20.04 LTS | linux-intel-iotg-5.15 | 5.15.0-1067.73~20.04.1 | USN-7144-1 |
| Ubuntu 20.04 LTS | linux-nvidia-tegra-5.15 | 5.15.0-1032.32~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-oracle-5.15 | 5.15.0-1070.76~20.04.1 | USN-7100-1 |
| Ubuntu 20.04 LTS | linux-riscv-5.15 | 5.15.0-1068.72~20.04.1 | — |
| Ubuntu 18.04 LTS | linux-gcp +13 | No fix yet | — |
Show 5 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 16.04 LTS | linux-hwe-edge | No fix yet | — |
| Ubuntu Pro Realtime 24.04 LTS | linux-raspi-realtime | 6.8.0-2004.4 | — |
| Ubuntu Pro Realtime 24.04 LTS | linux-realtime | 6.8.1-1002.2 | — |
| Ubuntu Pro Realtime 22.04 LTS | linux-intel-iot-realtime | 5.15.0-1066.68 | — |
| Ubuntu Pro Realtime 22.04 LTS | linux-realtime | 5.15.0-1073.81 | — |
| Ubuntu Pro FIPS-updates 22.04 LTS | linux-aws-fips | 5.15.0-1072.78+fips1 | — |
| Ubuntu Pro FIPS-updates 22.04 LTS | linux-azure-fips | 5.15.0-1075.84+fips1 | — |
| Ubuntu Pro FIPS-updates 22.04 LTS | linux-fips | 5.15.0-125.135+fips1 | — |
| Ubuntu Pro FIPS-updates 22.04 LTS | linux-gcp-fips | 5.15.0-1071.79+fips1 | — |
| Ubuntu Pro FIPS-preview 22.04 LTS | linux-fips +3 | No fix yet | — |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 15 SP5 | kernel-64kb +5 | 5.14.21-150500.55.62.2 | SUSE-SU-2024:1659-1 |
| SLES 15 SP5 | kernel-azure +2 | 5.14.21-150500.33.51.1 | SUSE-SU-2024:1644-1 |
| SLES 15 SP5 | kernel-default-base | 5.14.21-150500.55.62.2.150500.6.27.2 | SUSE-SU-2024:1659-1 |
| SLES 15 SP5 | kernel-syms | 5.14.21-150500.55.62.1 | SUSE-SU-2024:1659-1 |
Show 4 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLE Micro 6.0 | kernel-rt +1 | 6.4.0-9.1 | SUSE-SU-2025:20028-1 |
| SLE Micro 5.5 | kernel-default | 5.14.21-150500.55.62.2 | SUSE-SU-2024:1659-1 |
| SLE Micro 5.5 | kernel-default-base | 5.14.21-150500.55.62.2.150500.6.27.2 | SUSE-SU-2024:1659-1 |
| SLE Micro 5.5 | kernel-rt +1 | 5.14.21-150500.13.52.1 | SUSE-SU-2024:1663-1 |
| SLE Live Patching 15 SP5 | kernel-default | 5.14.21-150500.55.62.2 | SUSE-SU-2024:1659-1 |
| SLE Live Patching 15 SP5 | kernel-livepatch-SLE15-SP5-RT_Update_14 | 1-150500.11.5.1 | SUSE-SU-2024:1663-1 |
| SLE Live Patching 15 SP5 | kernel-livepatch-SLE15-SP5_Update_13 | 1-150500.11.3.2 | SUSE-SU-2024:1659-1 |
| SUSE Real Time Module 15 SP5 | kernel-rt +3 | 5.14.21-150500.13.52.1 | SUSE-SU-2024:1663-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Leap 15.5 | dtb-aarch64 +2 | 5.14.21-150500.55.62.1 | SUSE-SU-2024:1659-1 |
| openSUSE Leap 15.5 | kernel-64kb +7 | 5.14.21-150500.55.62.2 | SUSE-SU-2024:1659-1 |
| openSUSE Leap 15.5 | kernel-azure +2 | 5.14.21-150500.33.51.1 | SUSE-SU-2024:1644-1 |
| openSUSE Leap 15.5 | kernel-default-base | 5.14.21-150500.55.62.2.150500.6.27.2 | SUSE-SU-2024:1659-1 |
| openSUSE Leap 15.5 | kernel-rt +3 | 5.14.21-150500.13.52.1 | SUSE-SU-2024:1663-1 |
Azure Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Azure Linux 2 (CBL-Mariner) | kernel | No fix yet | — |
Advisories 15
- USN-7100-1 linux, linux-aws-5.15, linux-gcp, linux-gcp-5.15, linux-gke, linux-gkeop, linux-gkeop-5.15, linux-hwe-5.15, linux-ibm, linux-ibm-5.15, linux-kvm, linux-lowlatency, linux-lowlatency-hwe-5.15, linux-nvidia, linux-oracle, linux-oracle-5.15, linux-raspi, linux-xilinx-zynqmp vulnerabilities Ubuntu Security Notices (USN) · Oct 29, 2026
- USN-7144-1 linux-intel-iotg, linux-intel-iotg-5.15 vulnerabilities Ubuntu Security Notices (USN) · Oct 29, 2026
- USN-7194-1 linux-azure-5.15 vulnerabilities Ubuntu Security Notices (USN) · Oct 29, 2026
- USN-7100-2 linux-aws vulnerabilities Ubuntu Security Notices (USN) · Oct 29, 2026
- USN-7123-1 linux-azure vulnerabilities Ubuntu Security Notices (USN) · Oct 29, 2026
- USN-6878-1 linux-oracle vulnerabilities Ubuntu Security Notices (USN) · Oct 27, 2026
- USN-6816-1 linux, linux-ibm, linux-lowlatency, linux-raspi vulnerabilities Ubuntu Security Notices (USN) · Oct 27, 2026
- USN-6817-3 linux-azure, linux-gke vulnerabilities Ubuntu Security Notices (USN) · Oct 27, 2026
- USN-6817-1 linux-aws, linux-gcp vulnerabilities Ubuntu Security Notices (USN) · Oct 27, 2026
- USN-6817-2 linux-oem-6.8 vulnerabilities Ubuntu Security Notices (USN) · Oct 27, 2026
- WID-SEC-2024-0920 Linux Kernel: Mehrere Schwachstellen BSI CERT-Bund (WID) · Sep 3, 2026
- SUSE-SU-2025:20028-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2024:1663-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2024:1644-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · May 2, 2025
- SUSE-SU-2024:1659-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · May 2, 2025
References
- https://git.kernel.org/stable/c/0d276d9f335f41d6524258d58c0c0241ef9a83a4
- https://git.kernel.org/stable/c/857f56db8c3a71f9871922b6984ff74ad588cb2c
- https://git.kernel.org/stable/c/8ffaa17ccb1eb1b65cf85db63225a3581c303773
- https://git.kernel.org/stable/c/ead445dd3d681020af333649a27306160eee761d
- https://git.kernel.org/stable/c/f1d71576d2c9ec8fdb822173fa7f3de79475e9bd