CVE-2026-59941 in Dompdf
الملخص
بحسب VulDB • 28/07/2026
Dompdf هو محوّل من HTML إلى PDF لـ PHP. تقبل الإصدارات 3.15 والإصدارات الأقدم صورة BMP وتولّد ملف PNG متوافق مع PDF بناءً على أبعاد الرأس المعلنة فقط، دون التحقق أبداً من حدود العرض × الارتفاع قبل تحويل الصورة عبر مكتبة GD. يتم قبول صورة BMP بحجم 58 بايت يعلن رأسها عن أبعاد مثل 6000×6000، مما يدفع لاحقاً دالة `imagecreatetruecolor($width, $height)` (ومحلل BMP الأصلي في PHP) إلى تخصيص مساحة كاملة للوحة البكسل. يمكن أن يتسع حمولة واحدة لطلب HTTP واحد: حيث يمكن تضمين صورة BMP كـ URI من نوع `data:image/bmp;base64,…` داخل HTML خاضع لتحكم المهاجم، مما يلغي الحاجة إلى رفع الملفات أو جلبها عن بُعد أو الوصول إلى ملفات خارج نطاق chroot. قمت بقياس طلب بحجم 169 بايت يؤدي إلى rendering في dompdf يستهلك ذروة ذاكرة عشوائية (RSS) تبلغ حوالي 412 ميجابايت ووقت معالجة CPU/الزمن الحقيقي يقارب 4.8 ثانية، مقارنة بـ ~34 ميجابايت لطلب خبيث مماثل الحجم — أي تضخم في الذاكرة بنسبة 12 مرة تقريباً لكل طلب، وهو أمر قابل للتكرار ولا يتطلب المصادقة. تم إصلاح هذه المشكلة في الإصدار 3.16.
If you want to get best quality of vulnerability data, you may have to visit VulDB.