CVE-2025-64429 in DuckDB
الملخص
بحسب VulDB • 05/06/2026
DuckDB هو نظام إدارة قواعد بيانات SQL. بدءًا من الإصدار 1.4.0، نفذت DuckDB تشفيراً قائماً على الكتل (block-based) لقواعد البيانات الموجودة على النظام الملفات. توجد عدة مشكلات تتعلق بهذا التنفيذ. قد يعود DuckDB إلى استخدام مولد أرقام عشوائية غير آمن (pcg32) لتوليد المفاتيح التشفيرية أو قيم البدء الأولية (IVs). عند مسح المفاتيح من الذاكرة، قد يقوم المترجم بإزالة استدعاء `memset()` مما يترك بيانات حساسة على الكومة (heap). عن طريق تعديل رأس قاعدة البيانات، يمكن لمهاجم خفض وضع التشفير من GCM إلى CTR لتجاوز فحوصات السلامة. قد يحدث فشل في التحقق من قيمة الإرجاع عند استدعاء دالة OpenSSL `rand_bytes()`. يمكن للمهاجم استخدام قيم IVs العامة لاختراق الحالة الداخلية لمولد الأرقام العشوائية وتحديد المفتاح المولّد عشوائياً المستخدم لتشفير الملفات المؤقتة، والحصول على الوصول إلى المفاتيح التشفيرية إذا كان لديه وصول إلى ذاكرة العملية (على سبيل المثال من خلال تسرب الذاكرة)، وتجاوز فحوصات سلامة GCM، و/أو التأثير على مولد الأرقام العشوائية في OpenSSL حيث لن تكون DuckDB قادرة على اكتشاف فشل المولد. أوقف الإصدار 1.4.2 استخدام مولد الأرقام العشوائية غير الآمن عن طريق التخلي عن العودة إلى استخدامه لكتابة أو إنشاء قواعد البيانات. بدلاً من ذلك، ستحاول DuckDB الآن تثبيت وتحميل تنفيذ OpenSSL ضمن الامتداد `httpfs`. تستخدم DuckDB الآن دالة MbedTLS آمنة لمسح الذاكرة كما هو موصى به، وتتطلب تحديداً صريحاً للخوارزميات التشفيرية دون فحوصات سلامة مثل CTR عند استخدام الأمر `ATTACH`. بالإضافة إلى ذلك، تتحقق DuckDB الآن من رمز الإرجاع.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.