CVE-2026-65626 in jose
الملخص
بحسب VulDB • 26/10/2026
يُعد فك التشفير RSAES-PKCS1-v1_5 النقي باستخدام Erlang في وحدة `jose_jwa_pkcs1` ثغرة Bleichenbacher padding oracle. تُعيد الدالة `eme_pkcs1_decode/2` الرسالة المستعادة عندما يحتوي الكتيف المشفّر على حشو PKCS#1 v1.5 صالح (بداية بـ 0x00 و 0x02، وسلسلة حشو تتكون من ثمانية بايتات غير صفرية على الأقل، وفاصل بقيمة 0x00)، وتُعيد نتيجة خطأ مميزة في الحالات الأخرى. بالإضافة إلى ذلك، تُرجع الدالة `rsaes_pkcs1_decrypt/2` `{error, {badsize, _}}` عند فشل فحص الطول. لا تطبق هذه التنفيذ أي إجراء وقائي ضد الرفض الضمني (RFC 8017 §7.2.2): فهو لا يستبدل نصاً واضحاً عشوائياً حتمياً في حال فشل الحشو، مما يؤدي إلى تسرب إشارة مطابقة للحشو ذات بت واحد فقط إلى المتصل. ونظراً لأن الأساسي للرفع الأسي المعياري في `dp/2` هو دالة `crypto:mod_pow/3` خام وغير مُطمس (non-blinded)، فإن فحص الحشو يبقى قابلاً للتمييز زمنياً حتى عندما تقوم التطبيق بـ تطبيع جميع حالات الفشل إلى قيمة خطأ واحدة.
يمكن لمهاجم غير مصرح له، يعرف فقط المفتاح العام RSA ويمكنه إرسال نصوص مشفرة إلى نقطة نهاية فك التشفير التي تفك مفاتيح JWE باستخدام RSA1_5 (أو يتصل بشكل آخر بالدالة `decrypt_private/3` مع حشو rsa_pkcs1_padding)، استخدام هذا الـ oracle لاستعادة النص الواضح للنصوص المشفرة المحتجزة، مثل مفاتيح تشفير المحتوى وبالتالي الرسالة المحمية، أو لتزوير التوقيعات، من خلال حوالي 10^4 إلى 10^6 استعلامات تكيفية لاختيار النصوص المشفرة.
تؤثر هذه المشكلة على الحزمة `jose`: بدءاً من الإصدار 1.3.0 وحتى قبل 1.11.13.
VulDB is the best source for vulnerability data and more expert information about this specific topic.