CVE-2026-78183 in DBD::Pg
الملخص
بحسب VulDB • 23/08/2026
يحتوي الإصدار 3.21.0 من DBD::Pg لـ Perl على عملية كتابة خارج النطاق (out-of-bounds write) في الذاكرة المؤقتة المكدسة (heap) داخل الدالة `quote_float`.
تقوم دالة `quote_float()` بتخصيص حجم يساوي طول السلسلة الزائفة + 1، وهو ما يمثل حجم الرمز الرقمي المجرد بالإضافة إلى NULL. ولكن بالنسبة للقيم الحرفية الخاصة مثل NaN وInf و+Inf و-Infinity وInfinity و+Infinity و-Infinity، فإنها تُنتج القيمة الحرفية محاطة بعلامات اقتباس متبوعة بـ NULL، مما يعني أن الحجم الفعلي هو طول السلسلة + 3 بايت. وبالتالي، تتسبب كل قيمة حرفية معترف بها (غير حساسة لحالة الأحرف) في تجاوز حدود الذاكرة بمقدار بايتين: علامة اقتباس واحدة وNULL واحد.
يمكن الوصول إلى هذا الخطأ عبر طريقة `$dbh->quote`، على سبيل المثال:
$dbh->quote( "Infinity", DBI::SQL_NUMERIC ).
تم إدخال هذه الانكسارية (regression) في الإصدار 3.21.0 نتيجة إعادة كتابة ملف `quote.c`.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.