Read the docs
TI-2026-79680 Aliases CVE-2026-98923GHSA-q3vh-mmhj-mxhr

Spurious warning in arm64 ioremap_prot() for PROT_NONE mappings

Priority LOW 22Published · Updated

Key facts

Attack vector
—
Privileges required
—
User interaction
—
Attack complexity
—
Impact type
—
Confidentiality · integrity · availability
—
Fix status
Fixed

No CVSS vector from any source. Fix status from CNA.

Summary

The Linux kernel on arm64 passes protection values without user access bits to ioremap_prot(), which triggers a spurious kernel warning. A local user can trigger it by mapping a process's stack-top page through /dev/mem with PROT_NONE and then reading that process's /proc/<pid>/cmdline. Execute-only mappings could also be read through the same path.

Written with Claude Haiku 5.5 from the sources below · 2026-11-06

Description from the CNA

In the Linux kernel, the following vulnerability has been resolved: arm64: io: Reject non-user protection in ioremap_prot() Mapping a stack-top page via /dev/mem with PROT_NONE and then reading that process's /proc/<pid>/cmdline triggers a spurious WARN in ioremap_prot() through generic_access_phys(): WARNING: ./arch/arm64/include/asm/io.h:275 at generic_access_phys Call trace: generic_access_phys+0x1c8/0x228 (P) __access_remote_vm+0x2b4/0x398 access_remote_vm+0x14/0x30 get_mm_cmdline+0xf8/0x2a0 proc_pid_cmdline_read+0x68/0x120 generic_access_phys() passes the protection derived from the user PTE to ioremap_prot(). On arm64, a PROT_NONE mapping is represented by a present-invalid PTE, so pte_present() still returns true and the protection reaches ioremap_prot(). A PROT_NONE mapping does not have PTE_USER, causing the existing WARN_ON_ONCE() in ioremap_prot() to fire even though this is a valid user mapping. Execute-only mappings have the same issue and must not be readable through this path either. ioremap_prot() should therefore reject protection values without PTE_USER without warning. This makes the access fail cleanly for PROT_NONE and execute-only mappings while retaining the existing user-protection contract.

Why it matters now

EPSS 0.00168 6th percentileScored 2026-11-07
Fix Fixed Linux (Linux): 6.6.158, 6.12.112, 6.18.55 +3

SSVC decision points

Not available: CISA has not published SSVC decision points for this record.

Affected products

VendorProductAffected versionsFixed inStatusSource
LinuxLinux6.6.143 to before 6.6.158; 6.12.93 to before 6.12.112; 6.18.17 to before 6.18.55; 6.19.7 to before 6.206.6.158, 6.12.112, 6.18.55, 6.20Patch availableCNA
LinuxLinux7.0 and later6.6.158, 6.12.112, 6.18.55, 7.2.9, 7.3Patch availableCNA
  • Linux VendorLinux Affected 6.6.143 to before 6.6.158; 6.12.93 to before 6.12.112; 6.18.17 to before 6.18.55; 6.19.7 to before 6.20 Fixed in 6.6.158, 6.12.112, 6.18.55, 6.20 Patch available CNA
  • Linux VendorLinux Affected 7.0 and later Fixed in 6.6.158, 6.12.112, 6.18.55, 7.2.9, 7.3 Patch available CNA

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*——Linux
  • cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* Versions — — ·Linux

Remediation

Update the Linux kernel to 6.6.158, 6.12.112, 6.18.55, 6.20, 7.2.9 or 7.3, which contain the fix.

Written with Claude Haiku 5.5 from the sources below · 2026-11-06

  • Fix · CNA Linux (Linux) Fixed in 6.6.158, 6.12.112, 6.18.55, 6.20
  • Fix · CNA Linux (Linux) Fixed in 6.6.158, 6.12.112, 6.18.55, 7.2.9, 7.3

Vendor assessments

Red Hat

Red Hat rating: Moderate. Red Hat's page for this CVE →

Not affected: 7 products
  • Red Hat Enterprise Linux 10
  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux 7
  • Red Hat Enterprise Linux 8
  • Red Hat Enterprise Linux 9
  • Red Hat OpenShift Container Platform 4
  • Red Hat OpenShift Container Platform 5

Timeline

  1. 2026-10-23 Threatist record created from CVE-2026-98923
  2. 2026-10-23 Alias added: GHSA-q3vh-mmhj-mxhr
  3. 2026-10-30 Affected versions changed · Red Hat
  4. 2026-10-30 CVSS score added · Red Hat
  5. 2026-11-06 Affected versions changed · Red Hat

References

  • TI-2025-26358 tls: fix handling of zero-length records on the rx_list KEVCVSS 3.1CRITICAL 9.8
  • TI-2026-38352 netfilter: bridge: make ebt_snat ARP rewrite writable KEVCVSS 3.1HIGH 8.8
  • TI-2021-02452 Incorrect authorization in Ubuntu linux kernel KEVCVSS 3.1HIGH 8.8
  • TI-2013-05264 The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the… KEVCVSS 3.1HIGH 8.8
  • TI-2022-00125 Integer overflow in kernel KEVCVSS 3.1HIGH 8.4
  • TI-2013-01864 The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9… KEVCVSS 3.1HIGH 8.4
See all 21727 →

Sources