Araştırmacılar, popüler bir SSH ve Telnet istemcisi olan PuTTY’deki bir güvenlik açığının (CVE-2024-31497), “ağır önyargılı” ECDSA tekrarları (bir kez kullanılan rastgele değerler) nedeniyle saldırganların NIST P-521 istemci anahtarlarını kurtarmasına izin verebileceğini keşfetti.
“Daha kesin olmak gerekirse, her ECDSA nonce’ın ilk 9 biti sıfırdır. Bu, en son teknikleri kullanarak yaklaşık 60 imzada tam gizli anahtar kurtarmaya olanak tanıyor,” diye paylaştı Fabian Bäumer oss-sec posta listesinde.
PuTTY bakımcılarına göre etkilenen tek anahtar türü 521 bit ECDSA’dır. “ECDSA’nın diğer boyutları ve diğer anahtar algoritmalar etkilenmedi. Özellikle Ed25519 etkilenmez” dediler.
CVE-2024-31497 ile ilgili önemli olan nedir?
Güvenlik açığı, Ruhr-Universität Bochum araştırmacıları Bäumer ve Marcus Brinkmann tarafından keşfedildi. (Bäumer ve Brinkmann, geçen yıl SSH protokolünü hedef alan bir önek kesme saldırısı olan Terrapin’in keşfinin de arkasındaydı.)
CVE-2024-31497, genel anahtarı ve aynı anahtar altında herhangi bir PuTTY bileşeni tarafından oluşturulan yaklaşık 60 geçerli ECDSA imzasını bilen bir saldırganın, daha sonra bu anahtarın kullanıldığı herhangi bir SSH sunucusunda oturum açmak için kullanabileceği özel anahtarı türetmesine olanak tanır. .
Saldırgan, bu imzaları elde etmek için kullanıcının defalarca kimlik doğrulaması yaptığı sunucunun güvenliğini ihlal edebilir.
“Anahtar isteğe bağlı verileri imzalamak için kullanılmışsa (örneğin, git Pageant’ı ileterek taahhütte bulunur) [an SSH authentication agent for PuTTY] bir geliştirme sunucusuna), kamuya açık imzaların (örn. GitHub’da) da kullanılabileceğini” belirtti Bäumer.
Güvenlik açığı PuTTY v0.68 ila 0.80’in yanı sıra etkilenen PuTTY sürümüyle birlikte gelen diğer yazılımları da etkilemektedir:
- FileZilla 3.24.1 – 3.66.5
- WinSCP 5.9.5 – 6.3.2
- TortoiseGit 2.4.0.2 – 2.15.0
- KaplumbağaSVN 1.10.0 – 1.14.6
Ne yapalım?
Güvenlik açığı PuTTY v0.81’de DSA’nın tek seferde oluşturulması için RFC 6979 tekniğine geçilerek düzeltildi ve bakımcılar bu geçişin neden daha önce yapılmadığını açıkladı.
Ancak Bäumer’in işaret ettiği gibi PuTTY ile kullanılan tüm NIST P-521 istemci anahtarlarının ele geçirilmiş olduğu düşünülmeli ve iptal edilmelidir.
“Eski genel anahtarı tüm OpenSSH’den kaldırın yetkili_anahtarlar dosyalar ve diğer SSH sunucularındaki eşdeğerleri, böylece ele geçirilen anahtardan gelen imzanın artık hiçbir değeri kalmaz. Daha sonra bunun yerine yeni bir anahtar çifti oluşturun,” diye tavsiyede bulundu PuTTY bakımcıları.
CVE-2024-31497 ayrıca FileZilla v3.67.0, WinSCP v6.3.3 ve TortoiseGit v2.15.0.1’de de düzeltildi. TortoiseSVN kullanıcıları, bir yama kullanılabilir hale gelene kadar SSH yoluyla bir SVN deposuna erişirken PuTTY v0.81’deki Plink’i kullanacak şekilde yapılandırmalıdır.