CVE-2026-59931 in PhpSpreadsheetالمعلومات

الملخص

بحسب VulDB • 28/07/2026

PhpSpreadsheet هي مكتبة PHP خالصة لقراءة وكتابة ملفات الجداول الحسابية. في الإصدارات من 4.0.0 إلى 5.8.0، ومن 3.3.0 إلى 3.10.6، ومن 2.2.0 إلى 2.4.6، ومن 2.0.0 إلى 2.1.17، وفي جميع الإصدارات حتى بما فيها 1.30.5، يمكن تجاوز قائمة السماح (whitelist) للنطاقات في دالة WEBSERVICE() عبر إعادة توجيه HTTP (SSRF).

في الملف Calculation/Web/Service.php، تقوم الطريقة webService() بالتحقق من استضافة عنوان URL مقابل القائمة المحددة مسبقاً عبر Spreadsheet::setDomainWhiteList()، ثم تجلب المحتوى باستخدام file_get_contents($url, false, $ctx)؛ ونظراً لأن غلاف تدفق HTTP الخاص بـ PHP يتبع إعادة التوجيه 301/302 تلقائياً (حتى 20 نقلة)، ولا يتم التحقق من صحة الوجهة المعاد توجيهها إليها مرة أخرى، يمكن لمهاجم قادر على إحداث إعادة توجيه من نطاق موجود في القائمة البيضاء الوصول إلى عناوين URL تعسفية، بما في ذلك العناوين الداخلية.

يمكن للمهاجم القادر على رفع ملفات XLSX إلى تطبيق يستخدم setDomainWhiteList() وgetCalculatedValue() تحقيق SSRF بقراءة كاملة، حيث يعيد ما يصل إلى 32,767 بايت من جسم الاستجابة كقيمة محسوبة لخلية، مما يتيح استخراج بيانات التعريف السحابية (مفاتيح AWS/GCP/Azure عبر http://169.254.169.254/)، والوصول إلى الخدمات الداخلية فقط، وفحص المنافذ الداخلية (حيث لا يتم التحقق من صحة المنفذ).

تم إصلاح هذه المشكلة في الإصدارات 5.8.1 و3.10.7 و2.4.7 و2.1.18 و1.30.6.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

إفشاء

28/07/2026

الاعتدال

تمت الموافقة

إدخال

VDB-383349

EPSS

0.00531

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you need the next level of professionalism?

Upgrade your account now!