Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
SMB-LINUX-CVE-2025-37899 — CVE-2025-37899技术分析:Linux内核ksmbd SMB模块中的释放后使用漏洞,可实现远程代码执行。包括攻击向量、影响评估和补丁指南。 | Kitploit
工具/GitHubGitHub/vett3x/smb-linux-cve-2025-37899
漏洞分析漏洞利用论文与研究学习与教育二进制利用
GitHubvett3x/smb-linux-cve-2025-37899

SMB-LINUX-CVE-2025-37899

CVE-2025-37899技术分析:Linux内核ksmbd SMB模块中的释放后使用漏洞,可实现远程代码执行。包括攻击向量、影响评估和补丁指南。

查看仓库
1年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Linux内核ksmbd中的释放后使用漏洞 (CVE-2025-37899)

描述

已在Linux内核的ksmbd模块中发现一个释放后使用漏洞,该模块负责实现用于网络文件交换的SMB(服务器消息块)协议。此漏洞标识为CVE-2025-37899,可能允许以高权限远程执行代码。

介绍

该发现由研究员Sean Heelan使用OpenAI的o3模型完成,展示了人工智能在识别复杂漏洞方面的潜力。该漏洞存在于对SMB2/3的logoff命令的处理中,可在特定竞争条件下被利用。

技术细节

漏洞描述

释放后使用漏洞发生在处理logoff命令时,一个线程释放了与sess->user对象关联的内存。如果另一个线程试图访问这个已释放的对象,就会产生一个竞争条件,可能导致内存损坏,并可能执行任意代码。

易受攻击的代码位于ksmbd模块中的smb2_session_logoff函数内。在访问sess->user对象时缺乏适当的同步,使得内存仍在被另一个线程使用时被释放。

受影响代码(示例)

root@kitploit:~
// Ejemplo simplificado del código vulnerable
void smb2_session_logoff(struct ksmbd_work *work) {
  struct smb_session *sess = work->session;

  if (sess->user) {
    ksmbd_free_user(sess->user); // Liberación de la memoria
    sess->user = NULL;
  }
}

// Otro hilo podría acceder a sess->user aquí, después de la liberación

攻击向量

远程攻击者可以通过发送一系列精心设计的SMB2/3命令,在访问sess->user对象时制造竞争条件来利用此漏洞。这可以通过建立多个SMB连接并操纵会话关闭以与并发对象访问同步实现。

影响

成功利用此漏洞可允许攻击者:

  • 以内核权限在受影响系统上执行任意代码。
  • 未经授权访问敏感信息。
  • 破坏系统的完整性和可用性。

解决方案

补丁

建议尽快应用Linux发行版提供的安全补丁。主要发行版已在发布更新。

root@kitploit:~
// Antes (vulnerable)
void smb2_session_logoff(struct ksmbd_work *work) {
  struct smb_session *sess = work->session;

  if (sess->user) {
    ksmbd_free_user(sess->user);
    sess->user = NULL;
  }
}
root@kitploit:~
// Después (arreglado)
void smb2_session_logoff(struct ksmbd_work *work) {
    struct smb_session *sess = work->session;

    spin_lock(&sess->user_lock); // Lock para proteger el acceso concurrente

    if (sess->user) {
        ksmbd_free_user(sess->user);
        sess->user = NULL;
    }

    spin_unlock(&sess->user_lock); // Unlock después de la operación
}

在访问sess->user的函数中,也必须进行保护:

root@kitploit:~
// Ejemplo de acceso seguro en otra función
void smb2_check_user_session(struct smb_session *sess) {
    spin_lock(&sess->user_lock);

    if (sess->user) {
        // Acceso seguro a sess->user
        // ...
    }

    spin_unlock(&sess->user_lock);
}

缓解措施

若无法立即应用补丁,建议:

  • 如果不需要,禁用ksmbd模块。
  • 通过防火墙限制对SMB端口(445)的访问。
  • 实施额外的安全措施,例如监控SMB流量和检测异常。

参考

  • CVE-2025-37899: CVE链接(可用时)
  • 发现公告: 原始文章或发布链接
  • Linux内核仓库: 受影响源代码链接

致谢

感谢Sean Heelan发现此漏洞,并感谢网络安全社区在缓解此漏洞方面的合作。

下载工具