Linux内核xfrm子系统漏洞:状态销毁时未清理隧道导致内存泄漏

本文详细分析了CVE-2025-40256漏洞,该漏洞存在于Linux内核的xfrm子系统中。当状态创建在完全初始化和加入列表之间失败时,系统未能正确调用xfrm_state_delete_tunnel来清理回退隧道,导致内核内存泄漏。

CVE-2025-40256 - xfrm: 对于从未添加过的状态,在销毁时也需调用xfrm_state_delete_tunnel

概述

漏洞时间线

描述

在Linux内核中,已修复以下漏洞:

xfrm: 对于从未添加过的状态,在销毁时也需调用xfrm_state_delete_tunnel

在提交b441cf3f8c4b (“xfrm: delete x->tunnel as we delete x”)中,我遗漏了一种情况:状态创建在完全初始化(->init_state已被调用)和插入列表之间失败。

在这种情况下,->init_state已被调用,因此对于IPcomp隧道,回退隧道(FB tunnel)已被创建并添加到列表中,但用户状态从未被添加,因为我们在此之前就失败了。用户状态不会经过__xfrm_state_delete,因此我们不会为这些状态调用xfrm_state_delete_tunnel,最终导致FB隧道泄漏。

有几个代码路径受此影响:net/key和xfrm中的添加/更新路径,以及迁移代码(xfrm_migrate, xfrm_state_migrate)。在添加/更新代码中进行init_state工作的“适当”回滚可能是可行的,但对于迁移来说则更加复杂,因为可能涉及多个状态。

在某个时刻,新的(未插入的)状态将被销毁,因此在xfrm_state_gc_destroy期间调用xfrm_state_delete_tunnel。大多数状态将在__xfrm_state_delete期间清理其回退隧道,这解决了b441cf3f8c4b(及其之前的其他补丁)旨在解决的问题。一旦xfrm_state_fini调用了flush_work(&xfrm_state_gc_work),所有状态(包括FB隧道)都将从列表中移除。

信息

发布日期: 2025年12月4日 下午4:16

最后修改日期: 2025年12月4日 下午5:15

远程可利用:

来源: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

受影响的产品

以下产品受CVE-2025-40256漏洞影响。 即使cvefeed.io知道受影响产品的确切版本,下表也未显示该信息。

尚无受影响产品记录

受影响供应商总数:0 | 产品数:0

解决方案

应用Linux内核更新以修复状态销毁问题并防止资源泄漏。

  • 将Linux内核更新到最新的稳定版本。
  • 为xfrm子系统应用相关的安全补丁。
  • 验证提交b441cf3f8c4b的成功应用。
  • 监控系统日志中是否有内存泄漏的指标。

咨询、解决方案和工具的参考

此处,您将找到精心挑选的外部链接列表,这些链接提供了与CVE-2025-40256相关的深入信息、实用解决方案和宝贵工具。

CWE - 常见缺陷枚举

虽然CVE标识了漏洞的具体实例,但CWE对可能导致漏洞的常见缺陷或弱点进行了分类。CVE-2025-40256与以下CWE关联:

常见攻击模式枚举和分类 (CAPEC)

常见攻击模式枚举和分类 (CAPEC) 存储了攻击模式,这些模式描述了对手利用CVE-2025-40256弱点所采用的常见属性和方法。

我们扫描GitHub仓库以检测新的概念验证漏洞利用。以下列表是在GitHub上发布(按最近更新排序)的公开漏洞利用和概念验证的集合。

由于可能的性能问题,结果限制在前15个仓库。

以下列表是文章中任何地方提到CVE-2025-40256漏洞的新闻。

由于可能的性能问题,结果限制在前20篇新闻文章。

下表列出了随时间对CVE-2025-40256漏洞所做的更改。

漏洞历史记录详细信息有助于理解漏洞的演变,并识别可能影响漏洞严重性、可利用性或其他特征的最新更改。

新CVE接收 由 416baaa9-dc9f-4396-8d5f-8c081fb06d67 2025年12月04日
操作 类型 旧值
添加 描述
添加 参考
添加 参考

EPSS是对未来30天内观察到漏洞利用活动的概率的每日估计。下图显示了该漏洞的EPSS分数历史。

内存损坏

漏洞评分详情

此漏洞暂无CVSS指标。

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