【活用ガイド】

JVNDB-2026-024880

LinuxのLinux Kernelにおける解放済みメモリの使用に関する脆弱性

概要

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レポートも発生していません。
CVSS による深刻度 (CVSS とは?)

CVSS v3 による深刻度
基本値: 8.0 (重要) [その他]
  • 攻撃元区分: 隣接
  • 攻撃条件の複雑さ: 低
  • 攻撃に必要な特権レベル: 低
  • 利用者の関与: 不要
  • 影響の想定範囲: 変更なし
  • 機密性への影響(C): 高
  • 完全性への影響(I): 高
  • 可用性への影響(A): 高
影響を受けるシステム


Linux
  • Linux Kernel 5.11 以上 5.15.210 未満
  • Linux Kernel 5.16 以上 6.1.175 未満
  • Linux Kernel 5.7 以上 5.10.259 未満
  • Linux Kernel 6.13 以上 6.18.34 未満
  • Linux Kernel 6.19 以上 7.0.11 未満
  • Linux Kernel 6.2 以上 6.6.142 未満
  • Linux Kernel 6.7 以上 6.12.92 未満
  • Linux Kernel 7.1

想定される影響

・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。
・当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。
・当該ソフトウェアが完全に停止する可能性があります。
対策

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

CWEによる脆弱性タイプ一覧  CWEとは?

  1. 解放済みメモリの使用(CWE-416) [NVD評価]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-53357
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-53357
  2. 関連文書 : 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)
  3. 関連文書 : 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)
  4. 関連文書 : 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)
  5. 関連文書 : 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)
  6. 関連文書 : 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)
  7. 関連文書 : https://git.kernel.org/stable/c/407217734835d21d4e0105ebf347860dc1806f88
  8. 関連文書 : 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)
  9. 関連文書 : 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)
更新履歴

  • [2026年07月24日]
      掲載