OpenPGP.js teegis on tuvastatud haavatavus (CVE-2025-47934), mis võimaldab rünnakujõul saata muudetud sõnum, mida saadetakse saajale kinnitatud tõendina (openpgp.verify ja openpgp.decrypt funktsioonid tagastavad eduka digitaalse allkirja kontrollimise, kuigi sisu on asendatud ja erineb andmetest, mille jaoks allkiri loodi). Haavatavus on kõrvaldatud OpenPGP.js versioonides 5.11.3 ja 6.1.1. Probleem esineb ainult OpenPGP.js 5.x ja 6.x harudes ning ei mõjuta OpenPGP.js 4.x versiooni.
OpenPGP.js teek pakub iseseisvat rakendust OpenPGP protokollile JavaScriptis, võimaldades brauseris šifreerimise toimingute tegemist ja digitaalsete allkirjadega töötamist avatud võtmete alusel. Projekti arendavad Proton Maili arendajad ja seda kasutatakse mitte ainult sõnumite täieliku šifreerimise korraldamisel Proton Mailis, vaid ka sellistes projektides nagu FlowCrypt, Mymail-Crypt, UDC, Encrypt.to, PGP Anywhere ja Passbolt.
Haavatavus mõjutab elektroonilise allkirja verifikatsiooni menetlusi (openpgp.verify) ning allkirjastatud ja šifreeritud sõnumeid (openpgp.decrypt). Ründaja võib kasutada olemasolevaid allkirjastatud sõnumeid uute sõnumite loomiseks, mille dešifreerimisel rünnet mõjutavas OpenPGP.js versioonis saadakse asendatud sisu, mis erineb algsest allkirjastatud sõnumist. Haavatavus ei mõjuta allkirju, mis levitatakse eraldi tekstist (probleem avaldub ainult allkirja edastamisel koos tekstiga ühe andmepakina).
Asendussõnumi loomiseks piisab ründajast, kellel on juurdepääs ühele allkirjastatud või eraldiseisvale allkirjale, samuti teadlikkus sellest, mis andmed on selles sõnumis allkirjastatud. Ründaja saab sõnumit muuta nii, et muudetud versiooni allkiri loetakse endiselt kehtivaks. Samuti on võimalik muuta allkirjastatud ja šifreeritud sõnumeid, mille dešifreerimisel tagastatakse ründaja lisatud andmed.
Allikas: opennet.ru
