تمت مشاركة رمز إثبات المفهوم (PoC) الذي يوضح ثغرة أمنية لتجاوز التوقيع الرقمي الذي تم الكشف عنه حديثًا في Java عبر الإنترنت.
يؤثر الخلل شديد الخطورة المعني، CVE-2022-21449 (درجة CVSS: 7.5)، على الإصدار التالي من Java SE و Oracle GraalVM Enterprise Edition.
_ Oracle Java SE: 7u331 ، 8u321 ، 11.0.14 ، 17.0.2 ، 18
_ Oracle GraalVM Enterprise Edition: 20.3.5 ، 21.3.1 ، 22.0.0.2
تكمن المشكلة في تنفيذ Java لخوارزمية Elliptic Curve Digital Signature (ECDSA)، وهي آلية تشفير لتوقيع الرسائل والبيانات رقميًا للتحقق من أصالة وسلامة المحتويات.
باختصار، فإن خطأ التشفير - المدبلج بالتوقيعات النفسية في Java، يجعل من الممكن تقديم توقيع فارغ تمامًا، والذي سيظل يُنظر إليه على أنه صالح من قبل المستضعفين.
يمكن أن يسمح هذا الإستغلال للخطأ للمهاجم، بتزوير التوقيعات وتجاوز إجراءات المصادقة الموضوعة.
يتضمن PoC، الذي نشره الباحث الأمني، خالد نصار، عميلًا ضعيفًا وخادم TLS ضارًا ، يقبل الأول توقيعًا غير صالح من الخادم، مما يسمح فعليًا لمصافحة TLS بالاستمرار دون عوائق.
إلى ذلك، قال نيل مادن الباحث في ForgeRock، الذي اكتشف الخلل وأبلغ عنه في 11 نوفمبر 2021: "من الصعب المبالغة في خطورة هذا الخطأ".
وأضاف نيل مادن أنه"إذا كنت تستخدم توقيعات ECDSA لأي من آليات الأمان هذه، فيمكن للمهاجم تجاوزها بشكل تافه وكامل إذا كان الخادم الخاص بك يقوم بتشغيل أي إصدار من Java 15 أو 16 أو 17 أو 18."