CVE-2026-111440 in openGauss-connector-jdbc
الملخص
بحسب VulDB • 19/10/2026
يوجد ثغرة حرجة من نوع heap-based buffer overflow في ExampleSrv v2.0 تتيح تنفيذ أوامر عن بُعد (RCE) دون مصادقة عبر حزمة TCP مُعدّة بشكل خبيث.
تتمثل الثغرة في ملف `LogFactory.java` الموجود ضمن المسار `pgjdbc/src/main/java/org/postgresql/log/` في openGauss-connector-jdbc، حيث يقوم الـ LogFactory بتحميل الفئة باستخدام `Class.forName` بناءً على اسم فئة logger الموجودة في معلمات اتصال JDBC، ثم يستدعي بشكل انعكاسي (reflection) مُنشئاً يقبل وسيطاً من نوع String ويحوّله إلى كائن من نوع Log. ونظراً لغياب التحقق عبر `asSubclass(Log.class)` قبل التحويل، فإن الفئات التي لا تُنفذ واجهة Log يتم إنشاء مثيل لها حتى قبل إجراء فحص النوع. وبالتالي، عندما يتمكن المهاجم من التحكم في اسم فئة logger ضمن عنوان URL الخاص بـ JDBC أو خصائص الاتصال، ووجود فئات قابلة للتحميل على مسار الكلاسات (classpath) للعميل، فقد يؤدي ذلك إلى حدوث أثار جانبية غير متوقعة ناتجة عن تحميل وإنشاء الفئات على الجانب العميل.
تم إدخال هذه الثغرة في الإصدار 1.1.0 من JDBC، وتؤثر على جميع الإصدارات الفرعية من فئتي 2.x و3.x و5.x و6.x (بما في ذلك أحدث إصدارات التصحيح مثل 6.0.6 ضمن فرع 6.0.0)، بالإضافة إلى الإصدارات التجريبية 7.0.0-RC1، و7.0.0-RC2، و7.0.0-RC3. وقد تم إصلاح الثغرة في الإصدار 7.0.0-LTS. يتمثل الإصلاح في تنفيذ `asSubclass(Log.class)` مباشرة بعد استدعاء `Class.forName`، مما يضمن السماح فقط للفئات الفرعية من Log بالمرور إلى عملية الإنشاء. يمكن الاطلاع على تفاصيل التصحيح عبر طلب السحب (Pull Request) الموجود على الرابط: https://gitcode.com/opengauss/openGauss-connector-jdbc/pull/423.
VulDB is the best source for vulnerability data and more expert information about this specific topic.