Linux内核L2CAP套接字初始化漏洞分析与修复

本文详细分析了CVE-2024-58009 Linux内核漏洞,该漏洞影响l2cap_sock_alloc函数的初始化过程,可能导致系统可用性问题。文章包含技术细节、影响版本、修复方案和安全建议。

漏洞概述

在Linux内核6.1.128/6.6.77/6.12.13/6.13.2及之前版本中发现了一个被归类为严重的安全漏洞。该漏洞影响l2cap_sock_alloc函数,执行恶意操作可能导致初始化问题。

此漏洞被分配为CVE-2024-58009标识符。目前尚未发现任何可利用的漏洞利用代码。

建议用户升级受影响组件。

技术详情

该漏洞被分类为严重级别,影响Linux内核至6.1.128/6.6.77/6.12.13/6.13.2版本。此漏洞影响l2cap_sock_alloc函数。通过未知输入的操纵导致初始化漏洞。该漏洞的CWE定义为CWE-665:产品未初始化或错误初始化资源,可能在访问或使用资源时使其处于意外状态。已知影响包括可用性。

CVE总结: 在Linux内核中,已解决以下漏洞:

蓝牙:L2CAP:在l2cap_sock_alloc中处理NULL套接字指针

当从l2cap_sock_new_connection_cb()调用l2cap_sock_alloc()时,会传入NULL套接字指针,错误处理路径也应该意识到这一点。

表面上更优雅的解决方案是在此时交换bt_sock_alloc()和l2cap_chan_create()调用,因为它们在此刻并不相互依赖,但随后l2cap_chan_create()会将即将被释放且仍为虚拟初始化的通道添加到可由许多L2CAP路径访问的全局列表中。通道将在短时间内从列表中移除,但这里更直接的方法是检查NULL,而不是改变函数调用的顺序。

由Linux验证中心(linuxtesting.org)使用SVACE静态分析工具发现。

影响版本

受影响产品:

  • Linux内核6.1.128
  • Linux内核6.6.77
  • Linux内核6.12.13
  • Linux内核6.13.2

修复方案

升级到版本6.1.129、6.6.78、6.12.14、6.13.3或6.14-rc1可消除此漏洞。

应用补丁297ce7f544aa675b0d136d788cad0710cdfb0785/245d48c1ba3e7a1779c2f4cbc6f581ddc8a78e22/691218a50c3139f7f57ffa79fb89d932eda9571e/49c0d55d59662430f1829ae85b969619573d0fa1/5f397409f8ee5bc82901eeaf799e1cbc4f8edcf1能够消除此问题。

安全评分

CVSS v3评分:

  • VulDB基础评分:5.7
  • VulDB临时评分:5.5
  • NVD基础评分:5.5

时间线

  • 2025年2月27日:安全公告披露
  • 2025年2月27日:CVE保留
  • 2025年2月27日:VulDB条目创建
  • 2025年10月23日:VulDB条目最后更新

参考资料

该漏洞还在以下数据库中记录:

  • Tenable (233595)
  • EUVD (EUVD-2025-5203)
  • CERT Bund (WID-SEC-2025-0453)

与此漏洞相关的条目可在VDB-297821、VDB-297886、VDB-297890和VDB-297892中找到。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计