IPBUF安全漏洞报告
English
CVE-2025-15604 CVSS 9.8 严重

CVE-2025-15604 Amon2随机数生成不安全漏洞

披露日期: 2026-03-28
来源: 9b29abf9-4ab0-4765-b253-1875cd9b441e

漏洞信息

漏洞编号
CVE-2025-15604
漏洞类型
弱随机数生成
CVSS评分
9.8 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Amon2

相关标签

弱随机数会话劫持CSRFAmon2PerlCVE-2025-15604

漏洞概述

Perl Web框架Amon2 6.17之前版本存在不安全的随机字符串生成实现。当`/dev/urandom`不可用时,6.06至6.16版本会退化为使用弱熵源(rand、PID、时间)生成哈希值。由于PID有限且时间可预测,生成的会话ID、CSRF令牌等具有可预测性,攻击者可利用此漏洞接管会话或绕过防护。

技术细节

该漏洞核心在于`Amon2::Util::random_string`函数的熵源不足及不安全的降级机制。在6.06至6.16版本中,若`/dev/urandom`不可用,系统将使用Perl内置的`rand()`函数、进程ID(PID)和高精度纪元时间组合生成SHA-1哈希。由于`rand()`非加密安全,且PID通常只有几万个可能的值,攻击者可根据HTTP响应头中的`Date`字段精确锁定时间范围。通过遍历PID和时间戳,攻击者能够在极短时间内还原随机数种子,进而准确计算出服务器生成的会话ID、CSRF令牌或Cookie签名密钥。这种可预测性允许攻击者绕过身份验证,执行会话劫持或未授权操作,对系统安全构成严重威胁。

攻击链分析

STEP 1
侦察
攻击者识别目标系统使用的是Perl Amon2框架,并确认版本号低于6.17。
STEP 2
信息收集
攻击者观察HTTP响应头中的Date字段,以获取服务器的高精度时间信息,缩小时间猜测范围。
STEP 3
暴力破解
结合PID的有限范围(通常<32768)和已知的时间窗口,攻击者本地模拟弱随机数算法,生成可能的Token候选列表。
STEP 4
利用
攻击者使用预测的Session ID或CSRF Token发送请求,成功劫持用户会话或绕过CSRF保护执行恶意操作。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# PoC: Perl script simulating the vulnerable random string generation logic # This demonstrates how the fallback mechanism uses weak entropy sources. use strict; use warnings; use Digest::SHA qw(sha1_hex); use Time::HiRes qw(time); # Simulate the vulnerable function in Amon2 < 6.17 sub vulnerable_random_string { my ($length) = @_; # Weak entropy sources: built-in rand, PID ($$), and time # In a real attack, these values can be guessed or brute-forced my $weak_seed = int(rand(2**32)) . $$ . Time::HiRes::time(); # Generate hash from weak seed my $hash = sha1_hex($weak_seed); # Return truncated string return substr($hash, 0, $length); } # Example usage print "[+] Generating vulnerable token...\n"; my $token = vulnerable_random_string(10); print "[+] Token: $token\n"; print "[!] Note: This token is predictable if PID and Time are known.\n";

影响范围

Amon2 < 6.17
Amon2 6.06 - 6.16
Amon2 < 6.06

防御指南

临时缓解措施
建议立即升级Amon2至6.17或更高版本。若无法立即升级,请确保系统环境中的`/dev/urandom`设备始终可用,防止触发不安全的降级逻辑。同时,在修复漏洞后,应重置所有现有的用户会话和密钥,强制用户重新登录以确保安全。

参考链接

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