JVNDB-2026-027873 | |
LinuxのLinux Kernelにおける解放済みメモリの使用に関する脆弱性 | |
| 概要 | |
Linuxカーネルにおいて、以下の脆弱性が修正されました。net: qualcomm: rmnet: rmnet_dellink()におけるエンドポイントのUse-After-Freeの問題の修正です。rmnet_dellink()はhlist_del_init_rcu()でハッシュテーブルからエンドポイントを削除し、その後直ちにkfree()でメモリを解放していました。しかし、受信パス(rmnet_rx_handler -> __rmnet_map_ingress_handler)上のRCUリーダーは依然としてエンドポイントへの参照を保持しており、解放後にep->egress_devをデリファレンスする可能性がありました。エンドポイントはkmalloc-32オブジェクトであり、オフセット8での古い読み取りはegress_devポインタに対応しています。 BUG: アドレス ffffffffde942eef でページフォルトが発生し、処理できませんでした。 Oops: 0002 [#1] SMP NOPTI CPU: 1 UID: 0 PID: 137 Comm: poc_write タイントなし 7.0.0+ #4 PREEMPTLAZY RIP: 0010:rmnet_vnd_rx_fixup (rmnet_vnd.c:27) コールトレース: <TASK> __rmnet_map_ingress_handler (rmnet_handlers.c:48 rmnet_handlers.c:101) rmnet_rx_handler (rmnet_handlers.c:129 rmnet_handlers.c:235) __netif_receive_skb_core.constprop.0 (net/core/dev.c:6096) __netif_receive_skb_one_core (net/core/dev.c:6208) netif_receive_skb (net/core/dev.c:6467) tun_get_user (drivers/net/tun.c:1955) tun_chr_write_iter (drivers/net/tun.c:2003) vfs_write (fs/read_write.c:688) ksys_write (fs/read_write.c:740) </TASK>struct rmnet_endpointにrcu_headフィールドを追加し、kfree()をkfree_rcu()に置き換えることで、RCU猶予期間中もエンドポイントのメモリが有効な状態を維持するようにしました。また、rmnet_vnd_dellink()の呼び出しを削除し、nr_rmnet_devsのデクリメントのみをインライン化しました。これは、rmnet_vnd_dellink()が猶予期間中にep->egress_devをNULLに設定してしまい、ロック無しの読み取り者との間でデータ競合を引き起こしていたためです。 | |
| CVSS による深刻度 (CVSS とは?) | |
|
CVSS v3 による深刻度
基本値: 7.8 (重要) [その他]
| |
| 影響を受けるシステム | |
|
| |
Linux | |
|
| |
| 想定される影響 | |
・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 | |
| 対策 | |
リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 | |
| ベンダ情報 | |
|
| |
| CWEによる脆弱性タイプ一覧 CWEとは? | |
| |
| 共通脆弱性識別子(CVE) CVEとは? | |
|
| |
| 参考情報 | |
| |
| 更新履歴 | |
|
| 公表日 | 2026/07/20 |
| 登録日 | 2026/08/12 |
| 最終更新日 | 2026/08/12 |



