|
VRDA Feed
by
Vulnerability Response Decision Assistance Feed : 脆弱性脅威分析用情報の定型データ配信 |
[ about VRDA Feed | JPCERT/CC ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 分析対象脆弱性情報 (リビジョン番号 : 1) | [ Download XML ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| JVNDB-2026-024880 ( CVE-2026-53357 | CVE-2026-53357 ) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| LinuxのLinux Kernelにおける解放済みメモリの使用に関する脆弱性 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| https://jvndb.jvn.jp/ja/contents/2026/JVNDB-2026-024880.html | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
原文Linuxカーネルにおいて、以下の脆弱性が修正されました。Bluetoothに関するもので、l2cap_sock_cleanup_listen()とl2cap_conn_del()間のUse-After-Free(UAF)に関する修正です。bt_accept_dequeue()は、まだ受け入れられていない子ソケットを親のacceptキューから切り離し、リターン前にrelease_sock()を呼び出します。そのため、戻り値のskは呼び出し元の参照を持たず、ロックが解除された状態になります。l2cap_sock_cleanup_listen()は、リスニングソケットのクローズ時にこれらの子ソケットを処理します。一方で、並行して発生するHCI切断によりhci_rx_work -> l2cap_conn_del()が呼ばれ、l2cap_chan_del()およびl2cap_sock_kill()が実行され、子ソケットとそのl2capチャネルが解放されます。cleanup_listen()はその後、これら解放済みのオブジェクトを使用してしまいます。BUG: KASAN: slab-use-after-free in l2cap_sock_kill l2cap_sock_kill / l2cap_sock_cleanup_listen / __x64_sys_close 解放元: l2cap_conn_del -> l2cap_sock_close_cb -> l2cap_sock_kill。この問題は、この領域で既に行われている2つの修正とは異なります。コミットe83f5e24da741("Bluetooth: serialize accept_q access")はaccept_qのリスト/ポーリングを直列化し、bt_accept_dequeue()内で一時的参照を取得しています。また、CVE-2025-39860ではl2cap_sock_release()でlock_sock()のもとにcleanup_listen()を呼び、ユーザースペースのclose()/accept()競合を直列化しています。しかしどちらもhci_rx_workから実行されるl2cap_conn_del()はカバーしておらず、このUAFは現行のbluetooth/masterブランチ上で再現可能でした。ソース側で参照を取得する部分は、bt_accept_dequeue()がskをロックした状態でsock_hold()を行い、その後release_sock()を呼び出すことです。呼び出し元はsock_put()を行います。cleanup_listen()は子skを短時間ロックした状態でl2cap_chan_hold_unless_zero()によりチャネルを固定し(l2cap_sock_teardown_cb()との直列化を図り)、その後l2cap_chan_lock()の前にロックを解除し、SOCK_DEAD状態に対する重複したl2cap_sock_kill()をスキップします。conn->lockは取得せず、cleanup_listen()は親skロック下で実行されるため、conn->lock -> chan->lock -> sk_lockのデッドロックを避けています。KASAN/SMP環境において、権限のないリスニング/クローズとHCI切断の競合は、この修正前には1回の実行あたり12件のUse-After-Freeレポートを生成していました。しかしこの修正後は、bluetooth/masterブランチ上で1600回以上の競合試行にもかかわらず0件のレポートとなり、かつlockdepレポートも発生していません。翻訳 (表示) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
この情報について
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
分析情報提供元:
|
JVN iPedia
|
初版公開日:
|
2026-07-24 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
分析対象脆弱性情報の分類:
|
アドバイザリ・注意喚起
|
最終更新日:
|
2026-07-24 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
脆弱性の影響を受ける製品の識別子
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| cpe:/o:linux:linux_kernel | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
脆弱性の分析内容
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
関連情報
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Common Vulnerabilities and Exposures (CVE) CVE-2026-53357 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| National Vulnerability Database (NVD) CVE-2026-53357 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
参考情報
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| JVNDB CWE-416 解放済みメモリの使用 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 関連文書 Bluetooth: fix UAF in l2cap_sock_cleanup_listen() vs l2cap_conn_del() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/a5ca86a6097a8b030ca3226cd300b17ed330f966) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 関連文書 Bluetooth: fix UAF in l2cap_sock_cleanup_listen() vs l2cap_conn_del() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/ab1513597c6cf17cd1ad2a21e3b045421b48e022) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 関連文書 Bluetooth: fix UAF in l2cap_sock_cleanup_listen() vs l2cap_conn_del() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/added1213395071470a900cc845a042fb51882a6) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 関連文書 Bluetooth: fix UAF in l2cap_sock_cleanup_listen() vs l2cap_conn_del() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/5d86d2f1b4d9a508c441d3e45277ae1a73cfed57) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 関連文書 Bluetooth: fix UAF in l2cap_sock_cleanup_listen() vs l2cap_conn_del() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/87c543e2f78d0871f271df92dab98901bbd5b6f5) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 関連文書 Bluetooth: fix UAF in l2cap_sock_cleanup_listen() vs l2cap_conn_del() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/751de6ec671fe75ad9cf65a0638d2a06b6a5984d) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 関連文書 Bluetooth: fix UAF in l2cap_sock_cleanup_listen() vs l2cap_conn_del() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/7eebd4c2c86f573af87ff165d08a83432eb0b919) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 関連文書 https://git.kernel.org/stable/c/407217734835d21d4e0105ebf347860dc1806f88 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Copyright © 2026 JPCERT/CC All Rights Reserved. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||