IPBUF安全漏洞报告
English
CVE-2025-60753 CVSS 5.5 中危

CVE-2025-60753 libarchive bsdtar apply_substitution函数内存耗尽拒绝服务漏洞

披露日期: 2025-11-05

漏洞信息

漏洞编号
CVE-2025-60753
漏洞类型
内存耗尽/拒绝服务
CVSS评分
5.5 中危
攻击向量
本地 (AV:L)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
libarchive bsdtar

相关标签

CVE-2025-60753libarchivebsdtar拒绝服务内存耗尽tar工具本地攻击无限制内存分配Out-of-Memorysubst.c

漏洞概述

CVE-2025-60753是libarchive项目中bsdtar工具的一个拒绝服务漏洞。该漏洞存在于tar/subst.c文件的apply_substitution函数中,当bsdtar处理精心构造的-s替换规则时,由于缺乏适当的边界检查和内存分配限制,导致程序可能进行无限制的内存分配。这种无限制的内存分配会迅速耗尽系统可用内存,最终导致程序因内存不足而崩溃。攻击者需要通过本地方式触发此漏洞,并且需要用户进行一定程度的交互。该漏洞的影响主要体现在可用性方面,会导致目标系统服务中断。由于无需认证即可触发此漏洞,攻击门槛相对较低,建议受影响的用户尽快升级到修复版本。

技术细节

libarchive是一个广泛使用的跨平台档案库,用于读取、创建和提取各种存档格式。bsdtar是libarchive项目中的tar工具实现。该漏洞的核心问题在于apply_substitution函数在处理-s替换规则时存在设计缺陷。当用户通过命令行指定-s参数进行文件名替换操作时,该函数会根据正则表达式模式匹配并替换文件名中的特定字符。然而,攻击者可以通过构造特殊的替换规则,使得每次匹配都触发新的内存分配,而没有合理的上限控制。例如,使用递归引用或重复模式可能导致指数级的内存分配增长。在bsdtar 3.8.1之前的版本中,该函数未实现内存分配限制机制,导致处理恶意构造的输入时可能耗尽系统所有可用内存。攻击者需要诱骗受害者使用bsdtar处理包含恶意替换规则的存档文件,从而触发漏洞。

攻击链分析

STEP 1
步骤1:侦察阶段
攻击者识别目标系统上安装的libarchive bsdtar版本,确认其版本低于3.8.1
STEP 2
步骤2:准备阶段
攻击者创建一个包含大量文件的存档文件,并精心构造恶意的-s替换规则
STEP 3
步骤3:传递阶段
攻击者通过社交工程或其他方式诱骗受害者接收并处理恶意存档文件
STEP 4
步骤4:触发阶段
受害者使用bsdtar工具处理恶意存档文件,执行精心构造的-s替换规则
STEP 5
步骤5:利用阶段
apply_substitution函数处理恶意规则时触发无限制内存分配,耗尽系统内存
STEP 6
步骤6:影响阶段
bsdtar进程因内存不足(Out-of-Memory)而崩溃,导致处理操作失败

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/bin/bash # CVE-2025-60753 PoC - Memory exhaustion via crafted -s substitution rules # Target: libarchive bsdtar < 3.8.1 # Usage: ./poc.sh malicious_archive.tar # Create a test archive with multiple files mkdir -p test_dir for i in $(seq 1 100); do touch "test_dir/file_$i.txt" done # Create archive tar -cf test_archive.tar test_dir # Trigger vulnerability with crafted substitution rule # The pattern causes unbounded memory allocation bsdtar -xf test_archive.tar -s '.*/\(.*\)/\1\1\1\1\1\1\1\1/g' # Alternative PoC - Direct command injection # This pattern with back-references can cause memory exhaustion # bsdtar -cf malicious.tar -s 'a/\(.*\)/\1\1\1\1\1\1\1\1\1\1/g' *

影响范围

libarchive bsdtar < 3.8.1

防御指南

临时缓解措施
在官方修复发布之前,建议采取以下临时缓解措施:1) 限制bsdtar进程的最大内存使用量,可通过ulimit或cgroups实现;2) 对用户提供的存档文件进行严格的安全检查和验证;3) 避免使用-s参数处理来自不可信来源的存档文件;4) 在隔离环境或沙箱中处理可疑存档文件;5) 监控系统内存使用情况,及时发现异常;6) 考虑使用替代的tar工具进行文件提取操作。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表