Back to CVE records
Not yet scoredPublished Oct 23, 2026

CVE-2026-98923arm64: io: Reject non-user protection in ioremap_prot()

Updated under an hour ago ()

Does this affect you?

It affects Linux. Add what you run to find out whether that includes you.

No exploitation reported and no EPSS estimate yet.

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.

CVSS
Not yet scored
Weakness (CWE)
Not given
Known exploited
Not in CISA's KEV catalog
EPSS (exploitation in the next 30 days)
Not loaded for this CVE
Assigned by
Linux
NVD analysis
Received
Record last updated
Oct 23, 2026
First seen by InfoSec Signals
Oct 23, 2026

Affected products

Affected products
Linux Linux
linux:linux (from the name)
from 64858b76ec67c5fc40fef8ec1841fecb78c1ebde before fddc90d4af4550af410f52d11bbf6b5f36443838; from eeecafce5afffb4da703666ebefbd4d6e2a5abf6 before 0b04af3d88bb7fc69b2d92457890608860e42365; from 3d64dcc0799c2d6921ba027716b7be721eb19fa8 before b17aa4955e3a694c663ebe99626e4c76ca4f7cfb; from 8f098037139b294050053123ab2bc0f819d08932 before 9b583795feb51f8d50203228d001760d1344ef01; from 8f098037139b294050053123ab2bc0f819d08932 before bb756b11ad63832ebee58caf9e8f9381eaecff9f; d1ad8fe7f72d73e1617bac79f2ec7a3bedf47e2a; from 6.6.143 before 6.6.158; from 6.12.93 before 6.12.112; and 2 more ranges
CNA record

References

References

The CVE record is authoritative. Products marked “from the name” were identified from the CNA's free-text names, not a CPE, and are matched less certainly. This product uses the NVD API but is not endorsed or certified by the NVD.

Your cookie choices
We use essential cookies to run this site, and, only with your consent, an advertising cookie from Google to measure whether our ads lead to sign-ups and subscriptions. See our for details.