ثغرة jsPDF تسمح للهاكرز بسرقة البيانات عبر ملفات PDF
الأمن السيبراني #jsPDF #CVE2025

ثغرة jsPDF تسمح للهاكرز بسرقة البيانات عبر ملفات PDF

منذ يوم 9 مشاهدة 0 تعليق 1 دقائق قراءة
9 مشاهدة
0 إعجاب
234 تعليق
موثوق 95%

تعتبر مكتبة jsPDF المستخدمة في إنشاء مستندات PDF في تطبيقات جافا سكريبت عرضة لثغرة حرجة تسمح للمهاجم بسرقة بيانات حساسة من نظام الملفات المحلي من خلال تضمينها في الملفات المولدة.

Critical jsPDF flaw lets hackers steal secrets via generated PDFs
Critical jsPDF flaw lets hackers steal secrets via generated PDFs

تفاصيل الثغرة

تتمثل الثغرة في إدراج ملفات محلية وتجاوز المسارات، مما يسمح بتمرير مسارات غير مُعالجة إلى آلية تحميل الملفات (loadFile) في إصدارات jsPDF قبل 4.0. تُعزى الثغرة إلى CVE-2025-68428 وقد حصلت على درجة خطورة تبلغ 9.2.

تعد مكتبة jsPDF حزمة مُعتمدة على نطاق واسع، حيث تتجاوز تحميلاتها الأسبوعية 3.5 مليون في سجل npm.

في إصدارات Node.js من jsPDF، تُستخدم وظيفة 'loadFile' لقراءة نظام الملفات المحلي. تظهر المشكلة عندما يتم تمرير مدخلات يتحكم فيها المستخدم كمسار الملف، مما يتسبب في تضمين محتوى الملف في مخرجات PDF المولدة.

Exploitation example
Exploitation example

طرق التحميل المتأثرة

تشمل طرق تحميل الملفات الأخرى المتأثرة، مثل 'addImage' و 'html' و 'addFont'، حيث يمكن لجميعها استدعاء وظيفة loadFile.

وفقًا لبيان أمان jsPDF، تؤثر المشكلة فقط على إصدارات Node.js من المكتبة، أي الملفات dist/jspdf.node.js و dist/jspdf.node.min.js.

في تقرير تقني مفصل، تقول شركة Endor Labs للأمان التطبيقي إن خطر الاستغلال منخفض أو غير موجود إذا كانت مسارات الملفات مشفرة مسبقًا أو تأتي من تكوين موثوق، أو إذا تم استخدام قوائم السماح الصارمة للمدخلات.

تم إصلاح CVE-2025-68428 في الإصدار 4.0.0 من jsPDF عن طريق تقييد الوصول إلى نظام الملفات بشكل افتراضي والاعتماد بدلاً من ذلك على وضع إذن Node.js.

ومع ذلك، يشير باحثو Endor Labs إلى أن هذا الوضع تجريبي في Node 20، لذا يُوصى باستخدام الإصدارات 22.13.0 و 23.5.0 أو 24.0.0 وما بعدها.

نقطة أخرى يجب مراعاتها هي أن تمكين علامة '--permission'، وهي حل مقترح من قبل المطورين، يؤثر على عملية Node.js بالكامل، وليس jsPDF فقط.

التوصيات

توصل فريق jsPDF إلى أن الإصدارات القديمة من Node يجب أن تقوم بتنظيف المسارات المقدمة من المستخدم قبل تمريرها إلى jsPDF.

نظرًا للاستخدام الواسع لمكتبة jsPDF في العديد من المشاريع، فإن CVE-2025-68428 هو مرشح جيد للاستغلال النشط.

التعليقات 0

سجل دخولك لإضافة تعليق

لا توجد تعليقات بعد. كن أول من يعلق!