CVE-2025-47934

Yüksək

Təsvir

OpenPGP.js, OpenPGP protokolunun JavaScript tətbiqidir. Versiya 5.0.1-dən başlayaraq və 5.11.3 və 6.1.1 versiyalarından əvvəlki versiyalarda, bədniyyətli şəkildə dəyişdirilmiş mesaj `openpgp.verify` və ya `openpgp.decrypt` funksiyalarına ötürülə bilər ki, bu da həmin funksiyaların əslində imzalanmamış məlumatı qaytarmaqla yanaşı, etibarlı imza yoxlama nəticəsi verməsinə səbəb olur. Bu çatışmazlıq daxili (ayrılmamış) imzalı mesajların (`openpgp.verify` istifadə edərək) və həm imzalanmış, həm də şifrələnmiş mesajların (`verificationKeys` ilə `openpgp.decrypt` istifadə edərək) imza yoxlamalarının saxtalaşdırılmasına imkan verir, çünki hər iki funksiya orijinal olaraq imzalanmış məlumatla uyğun gəlməyən çıxarılmış məlumatları qaytarır. Ayrılmış imza yoxlamaları buna təsir etmir, çünki həmin halda heç bir imzalanmış məlumat qaytarılmır. Mesajı saxtalaşdırmaq üçün hücumçuya tək bir etibarlı mesaj imzası (daxili və ya ayrılmış), eləcə də qanuni şəkildə imzalanmış açıq mətn məlumatı lazımdır; bundan sonra hücumçu öz seçimi ilə istənilən məlumatdan ibarət daxili imzalı mesaj və ya imzalanmış-və-şifrələnmiş mesaj hazırlaya bilər və bu, OpenPGP.js-in təsirlənən versiyalarında qanuni şəkildə imzalanmış kimi görünəcəkdir. Başqa sözlə, hər hansı daxili imzalanmış mesaj, imzanın etibarlı olduğunu göstərməklə eyni zamanda hər hansı digər məlumatu qaytaracaq şəkildə dəyişdirilə bilər; eynisi, hücumçu etibarlı imza əldə edə və həmin imza ilə birlikdə yeni bir mesajı (hücumçunun seçimi ilə) şifrələyə bildiyi təqdirdə, imzalanmış+şifrələnmiş mesajlar üçün də keçərlidir. Problem 5.11.3 və 6.1.1 versiyalarında aradan qaldırılıb. Bəzi müvəqqəti həll yolları mövcuddur. Daxili imzalanmış mesajları yoxlayarkən, `openpgp.readMessage` tərəfindən qaytarılan mesajdan mesajı və imza(lar)ı çıxarın və imzanı və yalnız məlumatı ehtiva edən yeni mesajı (`openpgp.createMessage` istifadə edilərək yaradılmış) `openpgp.verify` funksiyasına ötürməklə imzanı (/hər bir imzanı) ayrılmış imza kimi yoxlayın. İmzalanmış+şifrələnmiş mesajları şifrəsizləşdirərkən və yoxlayarkən, bunu iki mərhələdə yerinə yetirin: əvvəlcə `verificationKeys` olmadan `openpgp.decrypt` çağırın, daha sonra qaytarılan imza(lar)ı və şifrəsizləşdirilmiş məlumatı ehtiva edən yeni mesajı (`openpgp.createMessage` istifadə edilərək yaradılmış) `openpgp.verify` funksiyasına ötürün.

CiddilikYüksək
CVSS8.7
İstismar ehtimalı—
MəhsulOpenpgp
Dərc19 may 2025
İlk görülmə19 may 2025
Zəiflik növüCWE-347CWE-347

Necə düzəltmək olar

Yeniləyin
  • openpgp5.11.3, 6.1.1 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
openpgpnpm5.0.1 ≤ v < 5.11.3, 6.0.0-alpha.0 ≤ v < 6.1.15.11.3, 6.1.1

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.

Intelligence 360 paketində

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.