Kerentanan di pustaka OpenPGP.js yang memungkinkan melewati verifikasi pesan

Kerentanan (CVE-2025-47934) telah diidentifikasi di pustaka OpenPGP.js, yang memungkinkan penyerang mengirim pesan yang dimodifikasi yang akan dianggap oleh penerima sebagai terverifikasi (fungsi openpgp.verify dan openpgp.decrypt akan mengembalikan indikasi verifikasi tanda tangan digital yang berhasil, meskipun faktanya konten telah diganti dan berbeda dari data yang dibuat untuk tanda tangan tersebut). Kerentanan tersebut telah diperbaiki dalam rilis OpenPGP.js 5.11.3 dan 6.1.1. Masalah ini hanya memengaruhi cabang OpenPGP.js 5.x dan 6.x, dan tidak memengaruhi OpenPGP.js 4.x.

Pustaka OpenPGP.js menyediakan implementasi JavaScript mandiri dari protokol OpenPGP, yang memungkinkan Anda melakukan operasi enkripsi dan bekerja dengan tanda tangan digital berbasis kunci publik di peramban. Proyek ini sedang dikembangkan oleh pengembang Proton Mail dan, selain mengatur enkripsi pesan ujung ke ujung di Proton Mail, digunakan dalam proyek seperti FlowCrypt, Mymail-Crypt, UDC, Encrypt.to, PGP Anywhere dan Passbolt.

Kerentanan tersebut memengaruhi prosedur verifikasi untuk tanda tangan teks tertanam (openpgp.verify) dan pesan yang ditandatangani dan dienkripsi (penpgp.decrypt). Seorang penyerang dapat menggunakan pesan-pesan yang ditandatangani yang sudah ada untuk membentuk pesan-pesan baru yang, ketika dibongkar oleh versi OpenPGP.js yang rentan, akan mengekstrak konten pengganti yang berbeda dari konten pesan yang ditandatangani asli. Kerentanan tersebut tidak memengaruhi tanda tangan yang didistribusikan secara terpisah dari teks (masalah hanya muncul ketika tanda tangan dikirimkan bersama dengan teks sebagai satu blok data).

Untuk membuat pesan palsu, penyerang hanya perlu memiliki satu pesan dengan tanda tangan tertanam atau terpisah, serta pengetahuan tentang data asli yang ditandatangani dalam pesan ini. Seorang penyerang dapat mengubah pesan tersebut sehingga versi tanda tangan yang diubah tetap dianggap benar. Demikian pula, pesan terenkripsi dengan tanda tangan dapat dimodifikasi sehingga saat dibongkar, data yang ditambahkan oleh penyerang akan dikembalikan.

Sumber: opennet.ru

Tambah komentar