OpenPGP.js bibliotēkas ievainojamība, kas ļauj apiet ziņojumu verifikāciju

OpenPGP.js bibliotēkā ir identificēta ievainojamÄ«ba (CVE-2025-47934), kas ļauj uzbrucējam nosÅ«tÄ«t modificētu ziņojumu, ko saņēmējs uztvers kā pārbaudÄ«tu (funkcijas openpgp.verify un openpgp.decrypt atgriezÄ«s norādi par veiksmÄ«gu digitālā paraksta pārbaudi, neskatoties uz to, ka saturs ir aizstāts un atŔķiras no datiem, kuriem paraksts tika izveidots). IevainojamÄ«ba tika novērsta OpenPGP.js 5.11.3 un 6.1.1 laidienos. Problēma ietekmē tikai OpenPGP.js 5.x un 6.x atzarus un neietekmē OpenPGP.js 4.x.

OpenPGP.js bibliotēka nodroÅ”ina patstāvÄ«gu OpenPGP protokola JavaScript ievieÅ”anu, kas ļauj veikt Å”ifrēŔanas darbÄ«bas un strādāt ar publiskās atslēgas digitālajiem parakstiem pārlÅ«kprogrammā. Projektu izstrādā Proton Mail izstrādātāji, un papildus ziņojumu pilnÄ«gas Å”ifrēŔanas organizēŔanai Proton Mail tas tiek izmantots tādos projektos kā FlowCrypt, Mymail-Crypt, UDC, Encrypt.to, PGP Anywhere un Passbolt.

IevainojamÄ«ba ietekmē iegulto teksta parakstu (openpgp.verify) un parakstÄ«to un Å”ifrēto ziņojumu (penpgp.decrypt) verifikācijas procedÅ«ras. Uzbrucējs var izmantot esoÅ”os parakstÄ«tos ziņojumus, lai veidotu jaunus ziņojumus, kurus, atpakojot ar neaizsargātu OpenPGP.js versiju, tiks iegÅ«ts aizstāts saturs, kas atŔķiras no sākotnēji parakstÄ«tā ziņojuma satura. IevainojamÄ«ba neietekmē parakstus, kas tiek izplatÄ«ti atseviŔķi no teksta (problēma rodas tikai tad, ja paraksts tiek pārsÅ«tÄ«ts kopā ar tekstu kā viens datu bloks).

Lai izveidotu viltotu ziņojumu, uzbrucējam ir nepiecieÅ”ams tikai viens ziņojums ar iegultu vai atseviŔķu parakstu, kā arÄ« zināŔanas par Å”ajā ziņojumā parakstÄ«tajiem sākotnējiem datiem. Uzbrucējs var modificēt ziņojumu tā, lai modificētā paraksta versija joprojām tiktu uzskatÄ«ta par pareizu. LÄ«dzÄ«gi, Å”ifrētus ziņojumus ar parakstu var modificēt tā, lai, tos atpakojot, tiktu atgriezti uzbrucēja pievienotie dati.

Avots: opennet.ru

Pievieno komentāru