IPBUF安全漏洞报告
English
CVE-2026-6429 CVSS 5.3 中危

CVE-2026-6429 libcurl信息泄露漏洞

披露日期: 2026-05-13
来源: 2499f714-1537-4658-8207-48ae4bb9eae9

漏洞信息

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

相关标签

信息泄露libcurlCVE-2026-6429HTTP重定向凭证泄露

漏洞概述

libcurl存在一处信息泄露漏洞。当配置同时使用.netrc文件存储凭证并允许跟随HTTP重定向时,在特定环境下,libcurl可能会将用于初始受信任主机的密码泄露给重定向后的目标主机。攻击者可利用此缺陷截获敏感认证信息,导致用户机密性受损,风险等级为中危。

技术细节

该漏洞的根源在于libcurl在处理.netrc自动认证机制与HTTP重定向逻辑交互时的安全缺陷。当应用程序设置了CURLOPT_NETRC选项以从.netrc文件读取凭证,并开启CURLOPT_FOLLOWLOCATION跟随重定向时,libcurl会解析.netrc文件并加载与初始URL主机名匹配的用户名及密码。在特定条件下,当HTTP响应触发重定向至另一台主机时,libcurl未能严格执行凭证的安全隔离策略。这导致本应仅限于初始主机的凭证信息(特别是密码),被错误地包含在发往重定向目标服务器的请求中。由于攻击向量为网络(AV:N)且无需用户交互(UI:N),攻击者可通过诱导客户端请求恶意重定向链接,被动接收并记录泄露的凭证,从而接管受害者在初始主机上的账户权限。

攻击链分析

STEP 1
步骤1:环境配置
受害者使用libcurl客户端,并在.netrc文件中配置了针对受信任主机(如trusted.com)的账号密码。
STEP 2
步骤2:发起请求
受害者应用程序向受信任的主机发起HTTP请求,且代码中启用了CURLOPT_FOLLOWLOCATION选项允许跟随重定向。
STEP 3
步骤3:触发重定向
受信任的主机(或攻击者攻陷的中间节点)返回30X重定向响应,将请求指向攻击者控制的服务器(如attacker.com)。
STEP 4
步骤4:凭证泄露
libcurl在处理重定向时,由于漏洞未能正确隔离认证上下文,将原本用于trusted.com的密码通过Authorization头或其他方式发送给了attacker.com。
STEP 5
步骤5:信息窃取
攻击者服务器接收并记录重定向请求,从中提取泄露的密码,进而利用该凭证访问受害者的原始账户。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#include <stdio.h> #include <curl/curl.h> int main(void) { CURL *curl = curl_easy_init(); if(curl) { // Target URL that redirects to an attacker-controlled server curl_easy_setopt(curl, CURLOPT_URL, "http://trusted.example.com/login"); // Enable loading credentials from .netrc file curl_easy_setopt(curl, CURLOPT_NETRC, CURL_NETRC_REQUIRED); // Specify path to .netrc if needed, otherwise default is used // curl_easy_setopt(curl, CURLOPT_NETRC_FILE, "/path/to/.netrc"); // Enable following HTTP redirects (3xx codes) curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L); // Perform the request // In a vulnerable version, the password for 'trusted.example.com' // found in .netrc might be sent to the redirect target. CURLcode res = curl_easy_perform(curl); if(res != CURLE_OK) fprintf(stderr, "Request failed: %s\n", curl_easy_strerror(res)); curl_easy_cleanup(curl); } return 0; }

影响范围

libcurl (具体受影响版本请参考官方安全公告)

防御指南

临时缓解措施
建议临时在代码中禁用CURLOPT_FOLLOWLOCATION选项,手动处理重定向逻辑并确保不携带敏感凭证;或者设置CURLOPT_UNRESTRICTED_AUTH为0,防止跨主机发送认证信息。

参考链接

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