LinuxのLinux Kernelにおける不特定の脆弱性
タイトル LinuxのLinux Kernelにおける不特定の脆弱性
概要

Linuxカーネルにおいて、arm64のioremap_prot()関数でユーザーメモリタイプが不適切に処理される脆弱性が修正されました。この問題により、PAN(Privileged Access Never)が有効なシステムでカーネルがユーザーマッピングにアクセスするとフォルトが発生する可能性がありました。修正では、ユーザーのpgprot_tからメモリタイプのみを抽出し、適切に処理することで将来的な誤用を防止しています。これにより、安全にカーネルがユーザーメモリにアクセスできるようになりました。

想定される影響 当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 また、当該ソフトウェアが扱う情報について、書き換えは発生しません。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 
対策

リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。

公表日 2026年3月25日0:00
登録日 2026年4月27日11:28
最終更新日 2026年4月27日11:28
CVSS3.0 : 警告
スコア 5.5
ベクター CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
影響を受けるシステム
Linux
Linux Kernel 6.0
Linux Kernel 6.0.1 以上 6.18.17 未満
Linux Kernel 6.19 以上 6.19.7 未満
Linux Kernel 7.0
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
その他
変更履歴
No 変更内容 変更日
1 [2026年04月27日]
  掲載
2026年4月27日11:28

NVD脆弱性情報
CVE-2026-23346
概要

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().

概要

En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:

arm64: io: Extraer el tipo de memoria de usuario en ioremap_prot()

El único llamador de ioremap_prot() fuera de la implementación genérica de ioremap() es generic_access_phys(), que pasa un valor 'pgprot_t' determinado a partir del mapeo de usuario del 'pfn' objetivo al que accede el kernel. En arm64, el 'pgprot_t' contiene todos los bits no relacionados con la dirección del pte, incluidos los controles de permiso, y así terminamos devolviendo un nuevo mapeo de usuario desde ioremap_prot() que falla cuando se accede desde el kernel en sistemas con PAN:

| No se puede manejar la lectura del kernel desde memoria ilegible en la dirección virtual ffff80008ea89000
| ...
| Rastro de llamada:
| __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

Extraer solo el tipo de memoria del 'pgprot_t' de usuario en ioremap_prot() y afirmar que se nos está pasando un mapeo de usuario, para protegernos contra cualquier cambio futuro que pueda requerir manejo adicional. Para evitar marcar erróneamente a los usuarios de ioremap(), proporcionar nuestra propia macro ioremap() que simplemente envuelve a __ioremap_prot().

公表日 2026年3月25日20:16
登録日 2026年4月27日12:18
最終更新日 2026年4月25日3:15
影響を受けるソフトウェアの構成
構成1 以上 以下 より上 未満
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.0.1 6.18.17
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.19 6.19.7
cpe:2.3:o:linux:linux_kernel:6.0:-:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc5:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc6:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc7:*:*:*:*:*:*
関連情報、対策とツール
共通脆弱性一覧