Zafiyet.live Keşfet. Değerlendir. Düzelt. Doğrula.
  • Yama var
  • Son 7 gün
  • CWE-674

CVE-2026-65628

JOSE.JWK.shared_secret/2 fonksiyonunda uyumsuz anahtar türlerinde sonsuz özyineleme ile CPU hizmet dışı bırakma

potatosalad jose

Orta 5,9 CVSS 4.0
Yayımlandı
Güncellendi
26 Eki 2026
Açık yaşı
1 gün
Kaydı açan
EEF

ÖzetTürkçe

jose_jwk:shared_secret/2 (Elixir'de JOSE.JWK.shared_secret/2 olarak sunulur) iki JWK'den ECDH paylaşılan sırrı türetir. İlk fonksiyon maddesi yalnızca her iki JWK'nin aynı anahtar türü (kty) modülüne sahip olması durumunda eşleşir; geri dönüş maddesi ise kendisini shared_secret(from(YourJWK), from(MyJWK)) biçiminde yeniden çağırır. from/1 zaten ayrıştırılmış bir jose_jwk kaydını değiştirmeden döndürdüğü için, anahtar türleri farklı olan iki JWK verildiğinde (örneğin bir EC anahtarı ile bir RSA anahtarı) geri dönüş maddesi aynı argümanlarla yeniden girer ve hiçbir zaman sonlanmayan, çökmeyen sınırsız bir kuyruk özyinelemeli döngüye girer.

Dışarıdan sağlanan bir eş genel anahtardan paylaşılan sır türeten, ancak eş anahtarın türünü ve eğrisini kendi anahtarıyla karşılaştırmadan kullanan bir uygulama, saldırgan kontrolündeki bir JWK ile bu döngüye sokulabilir ve bir Erlang zamanlayıcısı %100 CPU kullanımına kilitlenebilir. Tekrarlanan istekler mevcut zamanlayıcıları tüketerek hizmet dışı bırakmaya yol açar.

Bu sorun jose sürümlerini etkiler: 1.5.0 ile 1.11.13 öncesi.

Kaynaktaki açıklama (İngilizce)

jose_jwk:shared_secret/2 (exposed in Elixir as JOSE.JWK.shared_secret/2) derives an ECDH shared secret from two JWKs. Its first function clause only matches when both JWKs carry the same key type (kty) module, and its fallback clause re-invokes itself as shared_secret(from(YourJWK), from(MyJWK)). Because from/1 returns an already-parsed jose_jwk record unchanged, passing two JWKs whose key types differ (for example an EC key and an RSA key) makes the fallback clause re-enter with identical arguments, producing an unbounded tail-recursive loop that never returns and never crashes.

An application that derives a shared secret from an externally supplied peer public key without first checking that the peer key's type and curve match its own key can be driven into this loop by an attacker-controlled JWK, pinning an Erlang scheduler at 100% CPU. Repeated requests exhaust the available schedulers, resulting in a denial of service.

This issue affects jose: from 1.5.0 before 1.11.13.

Üreticinin geçici önlemi (İngilizce)

Before calling JOSE.JWK.shared_secret/2, verify that the externally supplied peer key's type (kty) and curve match your own key, and reject any key whose type does not match before attempting derivation.

Bu açığın açıklamasını Türkçeye çevirdik. Adım adım çözüm önerilerini kritik ve yeni açıklar için hazırlıyoruz; düzeltilmiş sürüm aşağıdaki tabloda, ayrıntılar üreticinin duyurusunda.

Etkilenen sürümler1 yazılım

YazılımEtkilenenDüzeltildiği sürüm
potatosalad jose ≥ 1.5.0, < 1.11.13 1.11.13

Kaynaklar7 kaynak

Kayıt geçmişi

  1. Yayımlandı

İlgili açıklar

Türkçe metin, resmi kayıtlardaki bilgilerle yapay zekâ yardımıyla yazıldı ve yayından önce otomatik kontrollerden geçti. Bir değişikliği uygulamadan önce üreticinin duyurusuna mutlaka bakın.