CVE-2026-62303 in Pistache
الملخص
بحسب VulDB • 30/10/2026
Pistache هو مجموعة أدوات REST عالية الأداء مكتوبة بلغة C++. من الإصدار 0.0.5 حتى 0.4.26، تستخدم الدالة `SegmentTreeNode::sanitizeResource()` الموجودة في الملف `src/server/router.cc` دالة `std::regex_replace()` مع التعبير النمطي `//+` لدمج الشرائط المتتالية (slashes). باستخدام مكتبة libstdc++، يمكن لمسار يحتوي على عشرات الآلاف من أحرف الشرطات المتتالية أن يتسبب في استدعاء ذاتي عميق بما يكفي لاستنفاد المكدس (stack) وإيقاف العملية. تصل الدوال `Router::route()` و`Router::addRoute()` و`Router::removeRoute()` إلى هذه عملية التطبيع. يعتمد الاستغلال البعيد غير المصرح به على وجود نشر يسمح بمسارات طلب طويلة بشكل كافٍ، مثل زيادة قيمة `Endpoint::Options::maxRequestSize()` فوق حد الـ 4096 بايت الافتراضي أو تمرير مسارات طويلة عبر واجهة أمامية (front end). كما تتأثر استخدامات واجهة برمجة التطبيقات (API) للموجّه مباشرةً عندما تصل سلاسل المسار أو الموارد التي يتحكم فيها المهاجم إلى مُطَبِّع التطبيع. أظهرت البناءات الأصلية توقفًا عن العمل عند حوالي 24,000 شريط متتابع، على الرغم من أن العتبة الدقيقة تعتمد على المكدس ومكتبة المعيار؛ والفشل المُظهر هو استنفاد للمكدس وليس استخدام ذاكرة غير مهيأة. يحل مصدر التصحيح محل التطبيع الذاتي باستخدام التعبيرات النمطية بمرور تكراري (iterative pass)، ولكن لم يتم التحقق من إصدار مستودع الحاوي كوقت النشر.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.