In the Linux kernel, the following vulnerability has been resolved:
arm64: ptrace: fix partial SETREGSET for NT_ARM_FPMR
Currently fpmr_set() doesn't initialize the temporary 'fpmr' variable, and a SETREGSET call with a length of zero will leave this uninitialized. Consequently an arbitrary value will be written back to target->thread.uw.fpmr, potentially leaking up to 64 bits of memory from the kernel stack. The read is limited to a specific slot on the stack, and the issue does not provide a write mechanism.
Fix this by initializing the temporary value before copying the regset from userspace, as for other regsets (e.g. NT_PRSTATUS, NT_PRFPREG, NT_ARM_SYSTEM_CALL). In the case of a zero-length write, the existing contents of FPMR will be retained.
Before this patch:
| # ./fpmr-test | Attempting to write NT_ARM_FPMR::fpmr = 0x900d900d900d900d | SETREGSET(nt=0x40e, len=8) wrote 8 bytes | | Attempting to read NT_ARM_FPMR::fpmr | GETREGSET(nt=0x40e, len=8) read 8 bytes | Read NT_ARM_FPMR::fpmr = 0x900d900d900d900d | | Attempting to write NT_ARM_FPMR (zero length) | SETREGSET(nt=0x40e, len=0) wrote 0 bytes | | Attempting to read NT_ARM_FPMR::fpmr | GETREGSET(nt=0x40e, len=8) read 8 bytes | Read NT_ARM_FPMR::fpmr = 0xffff800083963d50
After this patch:
| # ./fpmr-test | Attempting to write NT_ARM_FPMR::fpmr = 0x900d900d900d900d | SETREGSET(nt=0x40e, len=8) wrote 8 bytes | | Attempting to read NT_ARM_FPMR::fpmr | GETREGSET(nt=0x40e, len=8) read 8 bytes | Read NT_ARM_FPMR::fpmr = 0x900d900d900d900d | | Attempting to write NT_ARM_FPMR (zero length) | SETREGSET(nt=0x40e, len=0) wrote 0 bytes | | Attempting to read NT_ARM_FPMR::fpmr | GETREGSET(nt=0x40e, len=8) read 8 bytes | Read NT_ARM_FPMR::fpmr = 0x900d900d900d900d
CVSS Details
- CVSS 3.1 Base Score: 6.1
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux | Jul 27, 2026 | Jul 27, 2026 |
| Redhat_linux | — | No solution exists | Jul 9, 2025 | Jan 11, 2025 |
| Ubuntu | — | Upgrade linux-image-generic-64kUpgrade linux-image-lowlatency-64kUpgrade linux-image-6.11.0-1011-gcpUpgrade linux-image-genericUpgrade linux-image-6.11.0-1011-lowlatencyUpgrade linux-image-6.11.0-1011-awsUpgrade linux-image-awsUpgrade linux-image-gcp-64kUpgrade linux-image-raspiUpgrade linux-image-6.11.0-1012-azureUpgrade linux-image-realtime-hwe-24.04Upgrade linux-image-6.11.0-1017-oemUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-6.11.0-1013-oracleUpgrade linux-image-6.11.0-1007-realtimeUpgrade linux-image-6.11.0-1012-azure-fdeUpgrade linux-image-6.11.0-1010-raspiUpgrade linux-image-azure-fdeUpgrade linux-image-6.11.0-21-generic-64kUpgrade linux-image-azureUpgrade linux-image-6.11.0-1011-gcp-64kUpgrade linux-image-6.11.0-21-genericUpgrade linux-image-virtualUpgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-6.11.0-1011-lowlatency-64kUpgrade linux-image-oem-24.04bUpgrade linux-image-lowlatencyUpgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-gcpUpgrade linux-image-6.11.0-1013-oracle-64kUpgrade linux-image-oem-24.04Upgrade linux-image-realtimeUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-oracleUpgrade linux-image-oem-24.04aUpgrade linux-image-oracle-64k | Mar 28, 2025 | Jan 11, 2025 |
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