OpenPGP.js raamatukogus on tuvastatud haavatavus (CVE-2025-47934), mis võimaldab ründajal saata muudetud sõnumi, mida vastuvõtja tõlgendab kui verifitseeritud (funktsioonid openpgp.verify ja openpgp.decrypt tagastavad eduka digitaalallkirja kontrollimise märgise, hoolimata sellest, et sisu on asendatud ja erineb allkirjastamise jaoks loodud andmetest). Haavatavus on kõrvaldatud OpenPGP.js versioonides 5.11.3 ja 6.1.1. Probleem esineb ainult OpenPGP.js harudes 5.x ja 6.x ning ei mõjuta OpenPGP.js 4.x versiooni.
OpenPGP.js raamatukogu pakub iseseisvat OpenPGP protokolli rakendust JavaScripti keeles, võimaldades brauseris krüptimise operatsioone ja töötamist digitaalsete allkirjadega, mis põhinevad avalikel võtmetel. Projekti arendavad Proton Maili arendajad ning seda kasutatakse mitte ainult sõnumite lõpetamatuks krüpteerimiseks Proton Mailis, vaid ka sellistes projektides nagu FlowCrypt, Mymail-Crypt, UDC, Encrypt.to, PGP Anywhere ja Passbolt.
Haavatavus mõjutab sisseehitatud alla kirjutamise (openpgp.verify) ja allkirjastatud ning krüpteeritud sõnumite (penpgp.decrypt) kontrollimise protseduure. Ründaja võib kasutada olemasolevaid allkirjastatud sõnumeid, et luua uusi sõnumeid, mille lahti pakkimisel haavatava OpenPGP.js versioon kaalub sisalduma sisseehitatud sisu, mis erineb algsest allkirjastatud sõnumist. Haavatavus ei mõjuta allkirju, mis jagatakse eraldi tekstist (probleem avaldub ainult allkirja edastamisel koos tekstiga ühtse andmeplokina).
Et luua vale sõnum, piisab ründajale ühest allkirjastatud sõnumist, mis on kas sisseehitatud või eraldi ning teadmisest, millised algandmed on sellele sõnumile allkirjastatud. Ründaja saab muuta sõnumit selliselt, et muudetud variandi allkiri jääb kehtima. Samamoodi saab muuta allkirjastatud krüpteeritud sõnumeid, mille lahti pakkimisel naasevad ründaja lisatud andmed.
Allikas: opennet.ru
