CVE-2026-53939
KritikTeknik Veri (Otomatik)
- CVSS Skoru
- 9.1
- EPSS
- 0.2%
- CWE
- CWE-321
- KEV Durumu
- Hayır
Yayım tarihi: 9 Eylül 2026
OpenIDC/cjose, Javascript Object Signing and Encryption (JOSE)'yi uygulayan bir C kütüphanesidir. 0.6.1 ile 0.6.2.5 sürümlerinde, cjose bir JWE'yi AES-CBC-HMAC içerik şifreleme algoritması (`A128CBC-HS256`, `A192CBC-HS384` veya `A256CBC-HS512`) ile birlikte herhangi bir anahtar yönetimi algoritması kullanarak şifreler ve bu algoritma taze bir içerik şifreleme anahtarı (CEK) üretirse, CEK tüm sıfır baytlardan oluşur ve rastgele üretilmez. Sonuç olarak, oluşan JWE sabit ve kamu tarafından bilinen bir anahtar altında şifrelenir ve kimlik doğrulaması yapılır, böylece JWE'yi elde eden herkes açık metni geri alabilir ve içeriği değiştirebilir veya taklit edebilir. Bu sorun, 0.6.2.6 sürümünde `_cjose_jwe_set_cek_aes_cbc()` fonksiyonunun CEK'yi `RAND_bytes` ile üretmesiyle giderilmiştir. Bir gerileme testi, `encrypted_key` nin her iki şifreleme için de farklı olduğunu onaylar. Güncellemeye kadar, cjose ile şifrelenen veriler için üç seçenek mevcuttur. AES-CBC-HMAC `enc` yerine AES-GCM `enc` (`A128GCM` / `A192GCM` / `A256GCM`) kullanmak, `alg=dir` ile birlikte çağırıcı tarafından sağlanan bir CEK kullanmak veya etkilenen algoritma çifti ile JWE şifreleme için cjose kullanmaktan kaçınmak. Bunlar, yalnızca yeni şifreli metinler için geçerlidir; sıfır anahtar altında şifrelenen mevcut veriler tehlikeye açık kalır ve yeniden şifrelenmelidir (ve içindeki tüm gizli bilgiler döndürülmelidir).
Orijinal açıklama (İngilizce)
OpenIDC/cjose is a C library implementing the Javascript Object Signing and Encryption (JOSE). In versions 0.6.1 through 0.6.2.5, when cjose encrypts a JWE using an AES-CBC-HMAC content-encryption algorithm (`A128CBC-HS256`, `A192CBC-HS384`, or `A256CBC-HS512`) together with any key-management algorithm that generates a fresh content-encryption key (CEK), the CEK is all zero bytes instead of being randomly generated. The resulting JWE is therefore encrypted and authenticated under a fixed, publicly known key, so anyone who obtains the JWE can recover the plaintext and forge or modify the content. This is fixed in version 0.6.2.6 by `_cjose_jwe_set_cek_aes_cbc()` generating the CEK from `RAND_bytes`. A regression test asserts that the `encrypted_key` differs across two encryptions for each AES-CBC-HMAC variant. Until upgrading, for data encrypted with cjose, three options are available. Use an AES-GCM `enc` (`A128GCM` / `A192GCM` / `A256GCM`) instead of an AES-CBC-HMAC `enc`, use `alg=dir` with a caller-supplied CEK, or avoid using cjose for JWE encryption with the affected algorithm pair. These are mitigations for new ciphertexts only; data already encrypted under the zero key remains compromised and should be re-encrypted (and any secrets it contained rotated).
Referanslar
Bu CVE için henüz editoryal inceleme yapılmadı. Sadece otomatik teknik veri gösteriliyor.