Vulnerabilidad en la biblioteca OpenPGP.js que permite eludir la verificación de mensajes

Se ha identificado una vulnerabilidad (CVE-2025-47934) en la biblioteca OpenPGP.js, que permite a un atacante enviar un mensaje modificado que será percibido por el destinatario como verificado (las funciones openpgp.verify y openpgp.decrypt devolverán una indicación de verificación exitosa de la firma digital, a pesar del hecho de que el contenido ha sido reemplazado y difiere de los datos para los que se creó la firma). La vulnerabilidad se corrigió en las versiones 5.11.3 y 6.1.1 de OpenPGP.js. El problema solo afecta a las ramas OpenPGP.js 5.x y 6.x, y no afecta a OpenPGP.js 4.x.

La biblioteca OpenPGP.js proporciona una implementación de JavaScript autónoma del protocolo OpenPGP, lo que le permite realizar operaciones de cifrado y trabajar con firmas digitales basadas en clave pública en el navegador. El proyecto está siendo desarrollado por los desarrolladores de Proton Mail y, además de organizar el cifrado de extremo a extremo de los mensajes en Proton Mail, se utiliza en proyectos como FlowCrypt, Mymail-Crypt, UDC, Encrypt.to, PGP Anywhere y Passbolt.

La vulnerabilidad afecta a los procedimientos de verificación de firmas de texto incrustadas (openpgp.verify) y mensajes firmados y cifrados (penpgp.decrypt). Un atacante puede usar mensajes firmados existentes para formar nuevos mensajes que, al ser descomprimidos por una versión vulnerable de OpenPGP.js, extraerán contenido sustituido que difiere del contenido del mensaje firmado original. La vulnerabilidad no afecta a las firmas distribuidas por separado del texto (el problema sólo aparece cuando la firma se transmite junto con el texto como un único bloque de datos).

Para crear un mensaje falso, un atacante solo necesita tener un mensaje con una firma incorporada o separada, así como el conocimiento de los datos originales firmados en este mensaje. Un atacante puede modificar el mensaje para que la firma siga considerándose correcta para la versión modificada. De manera similar, los mensajes cifrados con una firma pueden modificarse para que, al descomprimirse, se devuelvan los datos añadidos por el atacante.

Fuente: opennet.ru

Añadir un comentario