In the Linux kernel, the following vulnerability has been resolved:
exec: fix unsigned loop counter wrap in transfer_args_to_stack()
The stop value is derived from bprm->p >> PAGE_SHIFT. The index variable is an unsigned long. If bprm->p drops below PAGE_SIZE and stop becomes zero the loop condition index >= stop is always true.
After the index == 0 iteration the decrement wraps to ULONG_MAX and bprm->page[ULONG_MAX] reads sizeof(void *) bytes in front of the array. The pointer has wrapped to -1. That garbage pointer is then passed to kmap_local_page() and PAGE_SIZE bytes are copied from wherever that lands into the stack of the process being created. And the loop doesn't terminate either...
Getting there only requires bprm->p < PAGE_SIZE. On !MMU bprm_set_stack_limit() and bprm_hit_stack_limit() are empty. So the only constraint on how far bprm->p is pushed down is valid_arg_len(), i.e. that each individual string still fits in what is left.
bprm->p starts at PAGE_SIZE * MAX_ARG_PAGES - sizeof(void *) so a single argument or environment string of a little over 31 pages leaves it in the first page:
Oops - load access fault [#1] CPU: 0 UID: 0 PID: 1 Comm: victim Not tainted 7.2.0-rc4 #1 epc : __memcpy+0xd4/0xf8 ra : transfer_args_to_stack+0xaa/0xae s4 : ffffffffffffffff s2 : 0000000000000000 a1 : ffffffdc98000000 a2 : 0000000000001000 status: 0000000a00001880 badaddr: ffffffdc98000000 cause: 0000000000000005 [<801a5324>] __memcpy+0xd4/0xf8 [<800d5f6a>] load_flat_binary+0x43a/0x65e [<800a2de4>] bprm_execve+0x1d4/0x316 [<800a351a>] do_execveat_common+0x12e/0x138 [<800a3d44>] __riscv_sys_execve+0x38/0x4e Kernel panic - not syncing: Fatal exception in interrupt
This is an arcane bug but we should still fix it.
Count down from MAX_ARG_PAGES so the loop ends when index reaches stop, stop == 0 included. The iterations performed are unchanged for every other value of stop.
Only CONFIG_MMU=n builds are affected, transfer_args_to_stack() is used by binfmt_flat and binfmt_elf_fdpic on nommu only.
The loop predates git history. commit 7e7ec6a93434 ("elf_fdpic_transfer_args_to_stack(): make it generic") only moved it from binfmt_elf_fdpic.c into fs/exec.c and narrowed the copy to the used part of the first page. The condition and the decrement are unchanged from 2.6.12-rc2.
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux-6.12Upgrade linux | Aug 11, 2026 | Aug 11, 2026 |
| Redhat_linux | — | No solution exists | Aug 13, 2026 | Aug 10, 2026 |
| Ubuntu | — | Upgrade linux-image-generic-64k-5.15Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-aws-fips-5.15Upgrade linux-image-gcp-5.15Upgrade linux-image-aws-64k-5.15Upgrade linux-image-ibm-5.15Upgrade linux-image-realtime-7.0Upgrade linux-image-xilinx-zynqmpUpgrade linux-image-5.15.0-1117-awsUpgrade linux-image-6.8.1-1062-realtimeUpgrade linux-image-aws-7.0Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-realtime-64k-7.0Upgrade linux-image-lowlatency-5.15Upgrade linux-image-ibmUpgrade linux-image-7.0.0-1013-oracle-64kUpgrade linux-image-nvidiaUpgrade linux-image-generic-lpaeUpgrade linux-image-gcp-fipsUpgrade linux-image-fipsUpgrade linux-image-gcp-6.8Upgrade linux-image-genericUpgrade linux-image-5.15.0-1109-kvmUpgrade linux-image-7.0.0-1016-azure-fdeUpgrade linux-image-xilinx-zynqmp-5.15Upgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-generic-5.15Upgrade linux-image-6.8.0-1066-gke-64kUpgrade linux-image-gcp-fips-5.15Upgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-lowlatency-6.8Upgrade linux-image-gke-5.15Upgrade linux-image-generic-64k-6.8Upgrade linux-image-lowlatency-64k-5.15Upgrade linux-image-7.0.0-1015-ibmUpgrade linux-image-7.0.0-38-realtimeUpgrade linux-image-gcp-7.0Upgrade linux-image-azure-cvmUpgrade linux-image-5.15.0-1080-xilinx-zynqmpUpgrade linux-image-7.0.0-1008-gkeUpgrade linux-image-azure-lts-26.04Upgrade linux-image-lowlatencyUpgrade linux-image-gke-7.0Upgrade linux-image-virtual-7.0Upgrade linux-image-gcp-64k-6.8Upgrade linux-image-6.8.0-147-fipsUpgrade linux-image-gke-64kUpgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-oracle-64k-6.8Upgrade linux-image-oracle-lts-24.04Upgrade linux-image-6.8.0-147-lowlatencyUpgrade linux-image-6.8.0-147-genericUpgrade linux-image-6.8.0-1071-gcpUpgrade linux-image-5.15.0-1116-realtimeUpgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-gcp-lts-22.04Upgrade linux-image-lowlatency-64kUpgrade linux-image-azure-fips-5.15Upgrade linux-image-5.15.0-195-lowlatencyUpgrade linux-image-7.0.0-38-realtime-64kUpgrade linux-image-awsUpgrade linux-image-azure-fdeUpgrade linux-image-azure-fde-7.0Upgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-virtual-6.8Upgrade linux-image-6.8.0-1066-gkeUpgrade linux-image-5.15.0-1112-nvidiaUpgrade linux-image-nvidia-lowlatency-5.15Upgrade linux-image-gke-hwe-26.04Upgrade linux-image-5.15.0-1123-azure-fipsUpgrade linux-image-oracleUpgrade linux-image-5.15.0-1100-gkeopUpgrade linux-image-5.15.0-198-generic-64kUpgrade linux-image-generic-64k-hwe-26.04Upgrade linux-image-7.0.0-1014-awsUpgrade linux-image-oracle-7.0Upgrade linux-image-5.15.0-1109-intel-iot-realtimeUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-aws-64k-7.0Upgrade linux-image-realtimeUpgrade linux-image-generic-lpae-5.15Upgrade linux-image-intel-iotg-5.15Upgrade linux-image-6.8.0-147-generic-64kUpgrade linux-image-azure-fde-5.15Upgrade linux-image-6.8.0-1067-ibmUpgrade linux-image-gkeop-6.8Upgrade linux-image-5.15.0-1111-ibmUpgrade linux-image-7.0.0-1013-oracleUpgrade linux-image-aws-fipsUpgrade linux-image-gke-64k-hwe-26.04Upgrade linux-image-gke-64k-7.0Upgrade linux-image-oracle-lts-22.04Upgrade linux-image-virtualUpgrade linux-image-oracle-64k-7.0Upgrade linux-image-oracle-64kUpgrade linux-image-oem-26.04aUpgrade linux-image-oem-20.04dUpgrade linux-image-nvidia-5.15Upgrade linux-image-intel-iot-realtimeUpgrade linux-image-azure-fde-lts-26.04Upgrade linux-image-azure-fde-lts-22.04Upgrade linux-image-generic-6.8Upgrade linux-image-fips-6.8Upgrade linux-image-oem-20.04cUpgrade linux-image-6.8.0-147-lowlatency-64kUpgrade linux-image-6.8.0-1069-azure-fdeUpgrade linux-image-6.8.0-1067-aws-fipsUpgrade linux-image-realtime-5.15Upgrade linux-image-gcp-64kUpgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-ibm-6.8Upgrade linux-image-aws-6.8Upgrade linux-image-generic-64kUpgrade linux-image-oracle-6.8Upgrade linux-image-oem-26.04Upgrade linux-image-ibm-classicUpgrade linux-image-7.0.0-1014-aws-64kUpgrade linux-image-intel-iot-realtime-5.15Upgrade linux-image-ibm-7.0Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-azure-5.15Upgrade linux-image-aws-5.15Upgrade linux-image-7.0.0-1014-gcpUpgrade linux-image-5.15.0-198-fipsUpgrade linux-image-5.15.0-1114-oracleUpgrade linux-image-gcp-fips-6.8Upgrade linux-image-6.8.0-1071-azure-fipsUpgrade linux-image-6.8.0-1071-azureUpgrade linux-image-6.8.0-1067-awsUpgrade linux-image-6.8.0-1064-oracleUpgrade linux-image-7.0.0-38-generic-64kUpgrade linux-image-intel-iotgUpgrade linux-image-azureUpgrade linux-image-7.0.0-1015-oemUpgrade linux-image-5.15.0-1123-azureUpgrade linux-image-virtual-hwe-26.04Upgrade linux-image-virtual-5.15Upgrade linux-image-oracle-5.15Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-realtime-64k-hwe-26.04Upgrade linux-image-gkeop-5.15Upgrade linux-image-azure-lts-22.04Upgrade linux-image-aws-64kUpgrade linux-image-5.15.0-198-genericUpgrade linux-image-5.15.0-1122-azure-fdeUpgrade linux-image-azure-fde-6.8Upgrade linux-image-5.15.0-198-generic-lpaeUpgrade linux-image-aws-lts-24.04Upgrade linux-image-aws-64k-6.8Upgrade linux-image-6.8.0-1067-aws-64kUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-realtime-64kUpgrade linux-image-oem-20.04Upgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-kvmUpgrade linux-image-intelUpgrade linux-image-gcpUpgrade linux-image-generic-64k-7.0Upgrade linux-image-fips-5.15Upgrade linux-image-aws-64k-lts-22.04Upgrade linux-image-7.0.0-38-genericUpgrade linux-image-7.0.0-1017-azureUpgrade linux-image-7.0.0-1008-gke-64kUpgrade linux-image-5.15.0-1118-gcpUpgrade linux-image-5.15.0-1112-intel-iotgUpgrade linux-image-oem-7.0Upgrade linux-image-kvm-5.15Upgrade linux-image-gkeopUpgrade linux-image-generic-hwe-26.04Upgrade linux-image-5.15.0-1113-gkeUpgrade linux-image-gkeUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-gcp-64k-7.0Upgrade linux-image-7.0.0-1014-gcp-64kUpgrade linux-image-5.15.0-1118-gcp-fipsUpgrade linux-image-5.15.0-1117-aws-64kUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-6.8.0-1052-gkeopUpgrade linux-image-realtime-hwe-26.04Upgrade linux-image-6.8.0-1064-oracle-64kUpgrade linux-image-gke-6.8Upgrade linux-image-5.15.0-1117-aws-fipsUpgrade linux-image-5.15.0-1112-nvidia-lowlatencyUpgrade linux-image-gke-64k-6.8Upgrade linux-image-oem-20.04bUpgrade linux-image-6.8.0-1071-gcp-64kUpgrade linux-image-aws-fips-6.8Upgrade linux-image-6.8.0-1071-gcp-fipsUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-5.15.0-195-lowlatency-64kUpgrade linux-image-azure-fipsUpgrade linux-image-azure-7.0Upgrade linux-image-generic-7.0Upgrade linux-image-aws-lts-22.04Upgrade linux-image-realtime-6.8.1Upgrade linux-image-laptop-23.10Upgrade linux-image-azure-lts-24.04Upgrade linux-image-azure-fips-6.8Upgrade linux-image-azure-6.8Upgrade linux-image-virtual-hwe-24.04 | Oct 6, 2026 | Oct 6, 2026 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Aug 17, 2026 | Aug 10, 2026 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub