Skip to main content
VulnerabilityPublished Updated

CVE-2026-23346: Linux kernel · arm64: io: Extract user memory type in ioremap_prot()

Affects Linux kernelSource CVE Database V5

0
Compare

Not known to be exploited · fixed in eeecafce5afffb4da703666ebefbd4d6e2a5abf6 : update Linux kernel when convenient.

Data as of 5 Nov 2026, 23:24 UTC

Severity
Unrated

Rated by Threat Radar · No CVSS score from NVD or the CNA

Thin evidence

One scorer or none
EPSS
0.1% chance of exploitation in 30 days – higher than 2% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
CISA SSVC
Exploitation
No evidence of active exploitation and no public proof of concept
Automatable
Attackers cannot reliably automate steps 1–4 of the kill chain
Technical impact
Limited control over the software or limited information exposure

CISA SSVC assessment, 2026-11-05.

Patch
Available – fixed in eeecafce5afffb4da703666ebefbd4d6e2a5abf6, d1ad8fe7f72d73e1617bac79f2ec7a3bedf47e2a, 64858b76ec67c5fc40fef8ec1841fecb78c1ebde +2

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 25 Mar 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponized: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 5 Nov 2026.

What to do

Upgrade to a fixed release listed under Affected software.

Affected software

ProductAffectedFixed in
LinuxLinuxAffected
  • ≥ 893dea9ccd08dab924839354aba21d4ed7a9abc0, < eeecafce5afffb4da703666ebefbd4d6e2a5abf6
Fixed in
  • eeecafce5afffb4da703666ebefbd4d6e2a5abf6
LinuxLinuxAffected
  • ≥ 893dea9ccd08dab924839354aba21d4ed7a9abc0, < d1ad8fe7f72d73e1617bac79f2ec7a3bedf47e2a
Fixed in
  • d1ad8fe7f72d73e1617bac79f2ec7a3bedf47e2a
LinuxLinuxAffected
  • ≥ 893dea9ccd08dab924839354aba21d4ed7a9abc0, < 64858b76ec67c5fc40fef8ec1841fecb78c1ebde
Fixed in
  • 64858b76ec67c5fc40fef8ec1841fecb78c1ebde
LinuxLinuxAffected
  • ≥ 893dea9ccd08dab924839354aba21d4ed7a9abc0, < 8f098037139b294050053123ab2bc0f819d08932
Fixed in
  • 8f098037139b294050053123ab2bc0f819d08932
LinuxLinuxAffected
  • ≥ 893dea9ccd08dab924839354aba21d4ed7a9abc0, < 3d64dcc0799c2d6921ba027716b7be721eb19fa8
Fixed in
  • 3d64dcc0799c2d6921ba027716b7be721eb19fa8
LinuxLinuxAffected
  • =6.0
Fixed in–

Description

In the Linux kernel, the following vulnerability has been resolved: arm64: io: Extract user memory type in ioremap_prot() The only caller of ioremap_prot() outside of the generic ioremap() implementation is generic_access_phys(), which passes a 'pgprot_t' value determined from the user mapping of the target 'pfn' being accessed by the kernel. On arm64, the 'pgprot_t' contains all of the non-address bits from the pte, including the permission controls, and so we end up returning a new user mapping from ioremap_prot() which faults when accessed from the kernel on systems with PAN: | Unable to handle kernel read from unreadable memory at virtual address ffff80008ea89000 | ... | Call trace: | __memcpy_fromio+0x80/0xf8 | generic_access_phys+0x20c/0x2b8 | __access_remote_vm+0x46c/0x5b8 | access_remote_vm+0x18/0x30 | environ_read+0x238/0x3e8 | vfs_read+0xe4/0x2b0 | ksys_read+0xcc/0x178 | __arm64_sys_read+0x4c/0x68 Extract only the memory type from the user 'pgprot_t' in ioremap_prot() and assert that we're being passed a user mapping, to protect us against any changes in future that may require additional handling. To avoid falsely flagging users of ioremap(), provide our own ioremap() macro which simply wraps __ioremap_prot().

References

Community reviews

Loading reviews…