CVE-2026-71883
Təsvir
Bouncy Castle for Java LTS-in 2.73.13 versiyasından əvvəlki versiyalarında AES-CBC, CCM, CFB, CTR, GCM və GCM-SIV üçün təksefərlik yerli paket şifrələri çağıranın açarını, IV-ni və əlavə autentifikasiya edilmiş məlumat massivlərini JNI-nin 0 rejimində olan ReleaseByteArrayElements funksiyası ilə buraxırdı ki, bu da yerli surəti yenidən Java massivinə yazır. Bu massivlər yerli kod üçün yalnız oxuna biləndir və pin etmək əvəzinə surət qaytaran JVM-də həmin surət giriş baytlarını oxunduğu kimi saxlayır. Çıxış buferi ayrıca kritik bölgə vasitəsilə götürülür və birinci təsdiqlənir, buna görə də proqram eyni Java massivini həm giriş, həm də təyinat yeri kimi ötürdükdə — məsələn, KeyParameter.getKey() üzərində yerində şifrləmə apardıqda — açarın sonrakı rejim-0 buraxılışı dəyişdirilməmiş açar baytlarını yeni istehsal olunmuş şifrəli mətnin üzərinə yazırdı. Çağırış hələ də düzgün çıxış uzunluğunu qaytarırdı, beləliklə, öz açar massivi üzərində yerində şifrləmə aparan proqrama şifrəli mətn gözlədiyi yerdə xam AES açarı verilirdi, API-da bunu göstərən heç bir şey yox idi və proqram mesaj əvəzinə açarı ötürür və ya saxlayırdı. Yalnız oxunan giriş massivləri artıq JNI_ABORT ilə buraxılır, beləliklə yerli surət geri kopyalanmadan azad edilir və rejim 0 yerli kodun yazdığı massivlər üçün rezerv edilib. Saf Java paket şifrələri və axınlı yerli rejimlər bundan təsirlənmir. Bouncy Castle for Java (bcprov) heç bir yerli implementasiya təqdim etmədiyi üçün bundan təsirlənmir.
Necə düzəltmək olar
- Legion of the Bouncy Castle Inc. BC-LTS-JAVA2.73.13 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| Legion of the Bouncy Castle Inc. BC-LTS-JAVA | 2.73.4 ≤ v < 2.73.13 | 2.73.13 |
Versiyanızı yoxlayın
Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.
Attack Surface Management
Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.