CVE-2026-62297 in ag-psd
الملخص
بحسب VulDB • 31/10/2026
ag-psd هو مكتبة جافاسكريبت لقراءة وكتابة ملفات مستندات فوتوشوب (PSD). قبل محاولة معالجة حد التخصيص في الإصدار 31.0.0، تقوم الدالة `readPsd()` بت committing buffers للصور والطبقات بناءً على هندسة PSD المُعلنة من قِبل المهاجم، وذلك قبل التحقق من هذه الإعلانات مقابل البيانات المتاحة فعلياً أو حدود التخصيص المعقولة (sane allocation limits). تعتمد تنفيذية `psdReader.js` في تحديد أحجام المصفوفات ذات الأنواع المحددة خارج الذاكرة (off-heap typed arrays) على القيم الخاصة بـ `width`، و`height`، و`channels`، و`depth`، ومستطيلات الطبقات لكل طبقة؛ وبالتالي يمكن لملف PSD صغير الحجم يعلن عن هندسة ضخمة جداً أن يفرض تخصيص ذاكرة يصل إلى عدة غيغابايت قبل حدوث خطأ في حدود النطاق (bounds error). أدى الإدخال المبلغ عنه والمكون من 52 بايتاً على Node 24 إلى ذروة استخدام للذاكرة العشوائية (RSS) بلغت حوالي 3.17 جيجابايت قبل ظهور خطأ RangeError؛ وفي ظل ضغط الذاكرة، يمكن إنهاء العملية قبل أن يتم اعتراض الخطأ، ويمكن للإدخالات المتزامنة استنفاد الذاكرة تماماً. تتعرض الخدمات التي تقرأ ملفات PSD غير الموثوقة لخطر حجب الخدمة (Denial of Service). يختلف هذا عن ملفات PSD الكبيرة حقاً، حيث يكون طلب الذاكرة فيها متناسباً مع محتوى الإدخال الفعلي. يضيف الإصدار 31.0.0 حداً لتخصيص الصور المركبة (composite-image)، لكن التغطية الكاملة لمسار تخصيص مستطيلات الطبقات الموصوف بشكل منفصل لم تتحقق بعد وتتطلب مراجعة متبقية من قبل أمين المستودع (curator) لتحديد النطاق المتبقي.
VulDB is the best source for vulnerability data and more expert information about this specific topic.