Vulnerability · Published Mar 12, 2025 · Assigned by Linux

CVE-2025-21866powerpc/code-patching: Fix KASAN hit by not flagging text patching area as VM_ALLOC

Medium 5.5

In plain English

A medium-severity resource allocation without limits in Linux from Linux. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 16% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)5.5Medium
Exploit odds (30 days)0.2%top 83.5% of all CVEs
Exploited in the wildNo reportsCISA SSVC: none
Attack toolingNoneno public tooling known

Official description

In the Linux kernel, the following vulnerability has been resolved: powerpc/code-patching: Fix KASAN hit by not flagging text patching area as VM_ALLOC Erhard reported the following KASAN hit while booting his PowerMac G4 with a KASAN-enabled kernel 6.13-rc6: BUG: KASAN: vmalloc-out-of-bounds in copy_to_kernel_nofault+0xd8/0x1c8 Write of size 8 at addr f1000000 by task chronyd/1293 CPU: 0 UID: 123 PID: 1293 Comm: chronyd Tainted: G W 6.13.0-rc6-PMacG4 #2 Tainted: [W]=WARN Hardware name: PowerMac3,6 7455 0x80010303 PowerMac Call Trace: [c2437590] [c1631a84] dump_stack_lvl+0x70/0x8c (unreliable) [c24375b0] [c0504998] print_report+0xdc/0x504 [c2437610] [c050475c] kasan_report+0xf8/0x108 [c2437690] [c0505a3c] kasan_check_range+0x24/0x18c [c24376a0] [c03fb5e4] copy_to_kernel_nofault+0xd8/0x1c8 [c24376c0] [c004c014] patch_instructions+0x15c/0x16c [c2437710] [c00731a8] bpf_arch_text_copy+0x60/0x7c [c2437730] [c0281168] bpf_jit_binary_pack_finalize+0x50/0xac [c2437750] [c0073cf4] bpf_int_jit_compile+0xb30/0xdec [c2437880] [c0280394] bpf_prog_select_runtime+0x15c/0x478 [c24378d0] [c1263428] bpf_prepare_filter+0xbf8/0xc14 [c2437990] [c12677ec] bpf_prog_create_from_user+0x258/0x2b4 [c24379d0] [c027111c] do_seccomp+0x3dc/0x1890 [c2437ac0] [c001d8e0] system_call_exception+0x2dc/0x420 [c2437f30] [c00281ac] ret_from_syscall+0x0/0x2c --- interrupt: c00 at 0x5a1274 NIP: 005a1274 LR: 006a3b3c CTR: 005296c8 REGS: c2437f40 TRAP: 0c00 Tainted: G W (6.13.0-rc6-PMacG4) MSR: 0200f932 <VEC,EE,PR,FP,ME,IR,DR,RI> CR: 24004422 XER: 00000000 GPR00: 00000166 af8f3fa0 a7ee3540 00000001 00000000 013b6500 005a5858 0200f932 GPR08: 00000000 00001fe9 013d5fc8 005296c8 2822244c 00b2fcd8 00000000 af8f4b57 GPR16: 00000000 00000001 00000000 00000000 00000000 00000001 00000000 00000002 GPR24: 00afdbb0 00000000 00000000 00000000 006e0004 013ce060 006e7c1c 00000001 NIP [005a1274] 0x5a1274 LR [006a3b3c] 0x6a3b3c --- interrupt: c00 The buggy address belongs to the virtual mapping at [f1000000, f1002000) created by: text_area_cpu_up+0x20/0x190 The buggy address belongs to the physical page: page: refcount:1 mapcount:0 mapping:00000000 index:0x0 pfn:0x76e30 flags: 0x80000000(zone=2) raw: 80000000 00000000 00000122 00000000 00000000 00000000 ffffffff 00000001 raw: 00000000 page dumped because: kasan: bad access detected Memory state around the buggy address: f0ffff00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f0ffff80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >f1000000: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 ^ f1000080: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f1000100: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 ================================================================== f8 corresponds to KASAN_VMALLOC_INVALID which means the area is not initialised hence not supposed to be used yet. Powerpc text patching infrastructure allocates a virtual memory area using get_vm_area() and flags it as VM_ALLOC. But that flag is meant to be used for vmalloc() and vmalloc() allocated memory is not supposed to be used before a call to __vmalloc_node_range() which is never called for that area. That went undetected until commit e4137f08816b ("mm, kasan, kmsan: instrument copy_from/to_kernel_nofault") The area allocated by text_area_cpu_up() is not vmalloc memory, it is mapped directly on demand when needed by map_kernel_page(). There is no VM flag corresponding to such usage, so just pass no flag. That way the area will be unpoisonned and usable immediately.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Debian:12linux6.1.133-1DEBIAN-CVE-2025-21866
Debian:12linux6.1.133-1DSA-5900-1
Debian:13linux6.12.17-1DEBIAN-CVE-2025-21866
Debian:14linux6.12.17-1DEBIAN-CVE-2025-21866
Ubuntu:22.04:LTSlinux5.15.0-140.150UBUNTU-CVE-2025-21866
Ubuntu:24.04:LTSlinux6.8.0-78.78UBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-allwinner-5.19no fix listedUBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-aws5.15.0-1084.91UBUNTU-CVE-2025-21866
Ubuntu:24.04:LTSlinux-aws6.8.0-1035.37UBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-aws-5.19no fix listedUBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-aws-6.2no fix listedUBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-aws-6.5no fix listedUBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-aws-6.86.8.0-1035.37~22.04.1UBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-azure5.15.0-1089.98UBUNTU-CVE-2025-21866
Ubuntu:24.04:LTSlinux-azure6.8.0-1034.39UBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-azure-5.19no fix listedUBUNTU-CVE-2025-21866
Ubuntu:24.04:LTSlinux-azure-6.116.11.0-1015.15~24.04.1UBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-azure-6.2no fix listedUBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-azure-6.5no fix listedUBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-azure-6.86.8.0-1034.39~22.04.1UBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-azure-fde5.15.0-1089.98.1UBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-azure-fde-5.19no fix listedUBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-azure-fde-6.2no fix listedUBUNTU-CVE-2025-21866
Ubuntu:24.04:LTSlinux-azure-nvidia6.8.0-1022.23UBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-gcp5.15.0-1083.92UBUNTU-CVE-2025-21866
Ubuntu:24.04:LTSlinux-gcp6.8.0-1036.38UBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-gcp-5.19no fix listedUBUNTU-CVE-2025-21866
Ubuntu:24.04:LTSlinux-gcp-6.116.11.0-1015.15~24.04.1UBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-gcp-6.2no fix listedUBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-gcp-6.5no fix listedUBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-gcp-6.86.8.0-1036.38~22.04.1UBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-gke5.15.0-1081.87UBUNTU-CVE-2025-21866
Ubuntu:24.04:LTSlinux-gke6.8.0-1032.36UBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-gkeop5.15.0-1066.74UBUNTU-CVE-2025-21866
Ubuntu:24.04:LTSlinux-gkeop6.8.0-1019.21UBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-hwe-5.19no fix listedUBUNTU-CVE-2025-21866
Ubuntu:24.04:LTSlinux-hwe-6.116.11.0-26.26~24.04.1UBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-hwe-6.2no fix listedUBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-hwe-6.5no fix listedUBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-hwe-6.86.8.0-78.78~22.04.1UBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-ibm5.15.0-1076.79UBUNTU-CVE-2025-21866
Ubuntu:24.04:LTSlinux-ibm6.8.0-1033.33UBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-ibm-6.86.8.0-1033.33~22.04.1UBUNTU-CVE-2025-21866
Ubuntu:24.04:LTSlinux-intelno fix listedUBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-intel-iot-realtimeno fix listedUBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-intel-iotg5.15.0-1079.85UBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-kvm5.15.0-1080.85UBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-lowlatency5.15.0-140.150UBUNTU-CVE-2025-21866
Ubuntu:24.04:LTSlinux-lowlatency6.8.0-78.78.1UBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-lowlatency-hwe-5.19no fix listedUBUNTU-CVE-2025-21866
Ubuntu:24.04:LTSlinux-lowlatency-hwe-6.116.11.0-1014.15~24.04.1UBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.2no fix listedUBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.5no fix listedUBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.86.8.0-78.78.1~22.04.1UBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-nvidia5.15.0-1078.79UBUNTU-CVE-2025-21866
Ubuntu:24.04:LTSlinux-nvidia6.8.0-1035.38UBUNTU-CVE-2025-21866
Ubuntu:24.04:LTSlinux-nvidia-6.116.11.0-1010.10UBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-nvidia-6.2no fix listedUBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-nvidia-6.5no fix listedUBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-nvidia-6.86.8.0-1035.38~22.04.1UBUNTU-CVE-2025-21866
Ubuntu:24.04:LTSlinux-nvidia-lowlatency6.8.0-1035.38.1UBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-nvidia-tegra5.15.0-1037.37UBUNTU-CVE-2025-21866
Ubuntu:24.04:LTSlinux-nvidia-tegra6.8.0-1009.9UBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-nvidia-tegra-igx5.15.0-1026.26UBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-oem-5.17no fix listedUBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-oem-6.0no fix listedUBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-oem-6.1no fix listedUBUNTU-CVE-2025-21866
Ubuntu:24.04:LTSlinux-oem-6.116.11.0-1022.22UBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-oem-6.5no fix listedUBUNTU-CVE-2025-21866
Ubuntu:24.04:LTSlinux-oem-6.8no fix listedUBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-oracle5.15.0-1081.87UBUNTU-CVE-2025-21866
Ubuntu:24.04:LTSlinux-oracle6.8.0-1032.33UBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-oracle-6.5no fix listedUBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-oracle-6.86.8.0-1032.33~22.04.1UBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-raspi5.15.0-1078.81UBUNTU-CVE-2025-21866
Ubuntu:24.04:LTSlinux-raspi6.8.0-1035.39UBUNTU-CVE-2025-21866
Ubuntu:24.04:LTSlinux-raspi-realtimeno fix listedUBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2025-21866
Ubuntu:24.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2025-21866
Ubuntu:24.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-riscv-5.19no fix listedUBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-riscv-6.5no fix listedUBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-riscv-6.86.8.0-78.78~22.04.1UBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-starfive-5.19no fix listedUBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-starfive-6.2no fix listedUBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-starfive-6.5no fix listedUBUNTU-CVE-2025-21866
Ubuntu:24.04:LTSlinux-xilinx6.8.0-1017.18UBUNTU-CVE-2025-21866
Ubuntu:22.04:LTSlinux-xilinx-zynqmp5.15.0-1050.54UBUNTU-CVE-2025-21866

Affected products (as reported)

VendorProductVersions
Linux Linux 37bc3e5fd764fb258ff4fcbb90b6d1b67fb466c1 – before 97de5852058a299ba447cd9782fe96488d30108b37bc3e5fd764fb258ff4fcbb90b6d1b67fb466c1 – before f8d4c5b653c1bc0df56e15658bbf64fc359adc4e37bc3e5fd764fb258ff4fcbb90b6d1b67fb466c1 – before 6847b3e40bb963e57b61d1cc6fe84cb37b9d3d4c37bc3e5fd764fb258ff4fcbb90b6d1b67fb466c1 – before c905a3053518212a1017e50bd2be3bee59305bb037bc3e5fd764fb258ff4fcbb90b6d1b67fb466c1 – before 2d542f13d26344e3452eee77613026ce9b65306537bc3e5fd764fb258ff4fcbb90b6d1b67fb466c1 – before 8d06e9208184b2851fa79a3a39d6860320c8bdf837bc3e5fd764fb258ff4fcbb90b6d1b67fb466c1 – before 2e6c80423f201405fd65254e52decd21663896f337bc3e5fd764fb258ff4fcbb90b6d1b67fb466c1 – before d262a192d38e527faa5984629aabda2e0d1c4f54
Linux Linux 4.13

Weakness: CWE-770 · Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

References