Ranljivost v knjižnici OpenPGP.js, ki omogoča obhod preverjanja sporočil

V knjižnici OpenPGP.js je bila odkrita ranljivost (CVE-2025-47934), ki napadalcu omogoča pošiljanje spremenjenega sporočila, ki ga bo prejemnik zaznal kot preverjeno (funkciji openpgp.verify in openpgp.decrypt bosta vrnili indikacijo uspešnega preverjanja digitalnega podpisa, kljub temu da je bila vsebina zamenjana in se razlikuje od podatkov, za katere je bil podpis ustvarjen). Ranljivost je bila odpravljena v izdajah OpenPGP.js 5.11.3 in 6.1.1. Težava vpliva samo na veje OpenPGP.js 5.x in 6.x ter ne vpliva na OpenPGP.js 4.x.

Knjižnica OpenPGP.js ponuja samostojno implementacijo protokola OpenPGP v jeziku JavaScript, ki vam omogoča izvajanje šifrirnih operacij in delo z digitalnimi podpisi na osnovi javnega ključa v brskalniku. Projekt razvijajo razvijalci Proton Mail in se poleg organiziranja celovitega šifriranja sporočil v Proton Mail uporablja v projektih, kot so FlowCrypt, Mymail-Crypt, UDC, Encrypt.to, PGP Anywhere in Passbolt.

Ranljivost vpliva na postopke preverjanja vdelanih besedilnih podpisov (openpgp.verify) ter podpisanih in šifriranih sporočil (penpgp.decrypt). Napadalec lahko uporabi obstoječa podpisana sporočila za oblikovanje novih sporočil, ki bodo ob razpakiranju z ranljivo različico OpenPGP.js izluščila nadomeščeno vsebino, ki se razlikuje od vsebine izvirnega podpisanega sporočila. Ranljivost ne vpliva na podpise, ki so razdeljeni ločeno od besedila (težava se pojavi le, ko se podpis prenese skupaj z besedilom kot en sam podatkovni blok).

Za ustvarjanje lažnega sporočila mora napadalec imeti le eno sporočilo z vdelanim ali ločenim podpisom ter poznavanje izvirnih podatkov, podpisanih v tem sporočilu. Napadalec lahko spremeni sporočilo tako, da bo podpis še vedno veljal za pravilnega za spremenjeno različico. Podobno je mogoče šifrirana sporočila s podpisom spremeniti tako, da se ob razpakiranju vrnejo podatki, ki jih je dodal napadalec.

Vir: opennet.ru

Dodaj komentar