جاوا

یک کد اثبات ادعا (PoC) که آسیب‌پذیری دور زدن امضای دیجیتالی جدید فاش شده در جاوا را نشان می‌دهد به‌صورت آنلاین به اشتراک گذاشته شده است.

این نقص با شدت بالای موردبحث[۱]، CVE-2022-21449 (با امتیاز ۵/۷ در مقیاس CVSS)، نسخه‌های زیر در 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، ۲۱٫۳٫۱، ۲۲٫۰٫۰٫۲

این مشکل در اجرای جاوا از الگوریتم امضای دیجیتال منحنی بیضوی[۳] یا ECDSA که یک مکانیزم رمزنگاری [۴] برای امضای دیجیتالی[۵] پیام‌ها و داده‌ها برای تأیید صحت و یکپارچگی محتوا است، قرار دارد.

به‌طور خلاصه، اشتباه رمزنگاری که در جاوا Signatures Psychic نامیده می‌شود، ارائه یک امضای کاملاً خالی را ممکن می‌سازد، که همچنان توسط پیاده‌سازی آسیب‌پذیر، معتبر تلقی می‌شود.

جاوا

بهره‌برداری موفقیت‌آمیز از این نقص می‌تواند به مهاجم اجازه دهد تا امضاها را جعل کند و اقدامات احراز هویت را دور بزند.

PoC که توسط محقق امنیتی Khaled Nassar منتشر شده است، شامل یک کلاینت آسیب‌پذیر و یک سرور TLS مخرب است[۶]، که اولی امضای نامعتبر از سرور را می‌پذیرد و عملاً اجازه می‌دهد تا TLS handshake بدون مانع ادامه یابد[۷].

Neil Madden، محقق ForgeRock، که این نقص را در ۱۱ نوامبر ۲۰۲۱ کشف و گزارش کرد، گفت[۸]: «اغراق کردن شدت این اشکال سخت است.»

“اگر از امضاهای ECDSA برای هر یک از این مکانیسم‌های امنیتی استفاده می‌کنید، اگر سرور شما از هر نسخه جاوا ۱۵، ۱۶، ۱۷ یا ۱۸ استفاده می‌کند، مهاجم می‌تواند به‌طور ساده و کامل آن‌ها را دور بزند.”

این مشکل از آن زمان توسط اوراکل به‌عنوان بخشی از آپدیت سه‌ماهه آوریل ۲۰۲۲ Critical Patch (CPU) که ​​در ۱۹ آوریل ۲۰۲۲ منتشر شد[۹]، موردبررسی قرار گرفت.

با توجه به انتشار PoC، به سازمان‌هایی که از جاوا ۱۵، جاوا ۱۶، جاوا ۱۷ یا جاوا ۱۸ در محیط‌های خود استفاده می‌کنند، توصیه می‌شود برای کاهش تلاش‌های بهره‌برداری فعال، هرچه زودتر وصله‌های موردنظر را نصب کنند.

منابع

[۱] https://openjdk.java.net/groups/vulnerability/advisories/2022-04-19

[۲] https://nvd.nist.gov/vuln/detail/CVE-2022-21449

[۳] https://en.wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm

[۴] https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/

[۵] https://en.wikipedia.org/wiki/Digital_signature

[۶] https://github.com/khalednassar/CVE-2022-21449-TLS-PoC

[۷] https://www.cloudflare.com/learning/ssl/what-happens-in-a-tls-handshake/

[۸] https://neilmadden.blog/2022/04/19/psychic-signatures-in-java/

[۹] https://www.oracle.com/security-alerts/cpuapr2022.html

[۱۰] https://thehackernews.com/2022/04/researcher-releases-poc-for-recent-java.html