CVE-2026-45446
Açıklama
Sorun özeti: AES-SIV (RFC 5297) ve AES-GCM-SIV (RFC 8452) uygulamaları, boş bir şifreli metin ile AAD (Ek Kimlik Doğrulanmış Veri) kimlik doğrulamasını hatalı yöneterek bu tür mesajların sahtesinin oluşturulmasına izin vermektedir. Etki özeti: Bir saldırgan, bu şifreleme yöntemlerini kullanan kurban uygulamasında rastgele AAD içeren boş mesajlar sahteleyebilir. AES-SIV (RFC 5297) ve AES-GCM-SIV (RFC 8452), nonce-misuse-resistant AEAD modlarıdır: bir anahtar, nonce, isteğe bağlı AAD (kimlik doğrulaması yapılan ancak şifrelenmeyen baytlar) ve düz metin kabul ederek; şifreli metin ve 16 baytlık bir etiket üretirler. Şifre çözme işleminde, `EVP_DecryptFinal_ex()` fonksiyonunun yalnızca etiket başarıyla doğrulandığında başarılı döneceği belgelenmiştir. Bu şifrelerin OpenSSL sağlayıcı uygulamasında, beklenen etiket yalnızca şifre çözme fonksiyonu boş olmayan verilerle çağrıldığında hesaplanır. Eğer çağıran taraf AAD sağlarsa ve ardından şifreli metin güncellemesi yapılmadan `EVP_DecryptFinal_ex()` fonksiyonunu çağırırsa (bu durum alınan şifreli metin uzunluğunun sıfır olduğu durumlarda gerçekleşebilir), etiket asla yeniden hesaplanmaz ve tümü sıfırlardan oluşan değerini korur. AES-GCM-SIV kullanıldığında, rastgele AAD, boş şifreli metin ve tümü sıfırlardan oluşan bir etiket gönderen bir saldırgan, bilmediği herhangi bir anahtar altında tek seferde kimlik doğrulamasını geçer. AES-SIV kullanıldığında ise saldırıyı gerçekleştirmek için uygulamanın, anahtarı sıfırlamadan şifre çözme bağlamını yeniden kullanması gerekir. AES-SIV, OpenSSL 3.0 sürümünden beri uygulanmaktadır. AES-GCM-SIV, OpenSSL 3.2 sürümünden beri uygulanmaktadır. OpenSSL bünyesinde uygulanan hiçbir protokol (TLS/CMS/PKCS7/HPKE/QUIC), AES-GCM-SIV veya AES-SIV'yi desteklememektedir. Bir saldırı düzenlemek için uygulamaların kendi protokollerini uygulamaları ve EVP arayüzünü kullanmaları gerekir. Ayrıca, boş bir şifreli metne sahip bir mesaj geldiğinde şifreli metin güncellemesini atlamaları gerekmektedir. 4.0, 3.6, 3.5, 3.4 ve 3.0 sürümlerindeki FIPS modülleri bu sorundan etkilenmemektedir; çünkü bu algoritmalar FIPS onaylı değildir ve etkilenen kod OpenSSL FIPS modül sınırının dışındadır.
Nasıl düzeltilir
- openssl openssl3.0.21, 3.4.6, 3.5.7, 3.6.3 ya da sonraki bir sürüm
- github.com/openssl/openssl/commit/25b32cd9d41d2bc01b6abc425bb4baf2c2236fdc
- github.com/openssl/openssl/commit/eec5e9bf0d867333b8495e456f5235d225798a68
- github.com/openssl/openssl/commit/7fe3f33a3b3a4c487aa4dcdbc87057f66ffd2b85
- github.com/openssl/openssl/commit/daca0f48e4a69a2892a62262bad59e62a8a76598
- github.com/openssl/openssl/commit/71e2a5d263518cf5866043bd60ee4994d59e53a3
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| openssl openssl | 3.0.0 ≤ v < 3.0.21, 3.4.0 ≤ v < 3.4.6, 3.5.0 ≤ v < 3.5.7, 3.6.0 ≤ v < 3.6.3, 4.0.0 | 3.0.21, 3.4.6, 3.5.7, 3.6.3 |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.