Onlangs hebben onderzoekers van het cyberbeveiligingsbedrijf Codean Labs een beveiligingskwetsbaarheid met een hoog risico onthuld in de open source-encryptiebibliotheek OpenPGP.js. Dit beveiligingsprobleem maakt willekeurige vervalsing van ondertekende en gecodeerde berichten mogelijk, wat leidt tot de volledige vernietiging van de openbare sleutelcodering van e-mail die afhankelijk is van deze technologie.

OpenPGP.js is een open source encryptiebibliotheek geschreven in JavaScript, ontworpen om encryptie- en decryptiefuncties te bieden op basis van de OpenPGP-standaard voor webapplicaties en Node.js-omgevingen, dat wil zeggen om veilige gecodeerde e-mailcommunicatie aan de client- of serverzijde tot stand te brengen, met ondersteuning van bestandsencryptie en digitale handtekeningen, enz.

Momenteel vertrouwt de gecodeerde e-mailprovider Proton Mail vooral op deze encryptiebibliotheek. In feite wordt deze open source-bibliotheek voornamelijk onderhouden door Proton Mail, dus de gebruikers die er feitelijk het meest door getroffen worden, zijn ook Proton Mail. Het toegewezen kwetsbaarheidsnummer is CVE-2025-47934, met een kwetsbaarheidsscore van 8,7/10. Vanwege veiligheidsoverwegingen hebben de onderzoekers niet de volledige beschrijving van de kwetsbaarheid en de proof-of-concept vrijgegeven, maar deze proof-of-concept-codes zullen de een na de ander worden vrijgegeven nadat de kwetsbaarheid is verholpen.

Uit de korte beschrijving leren we dat het kernprobleem een ​​fout is in het vertrouwensondertekeningsproces van OpenPGP.js. Om een ​​bericht te vervalsen heeft de aanvaller een geldige berichthandtekening en legitiem ondertekende platte tekstgegevens nodig. De aanvaller kan vervolgens alle gegevens naar keuze van de aanvaller gebruiken om ondertekende, gecodeerde berichten te vervalsen die eruit zien alsof ze legitiem zijn ondertekend door OpenPGP.js.

De betrokken versies zijn OpenPGP.js 5.0.1~5.11.2 en 6.0.0-alpha~6.1.0. De versies uit de 4.x-serie worden niet beïnvloed, dus ontwikkelaars en gebruikers die OpenPGP.js gebruiken, moeten upgraden naar versies 5.11.3 en 6.1.1 om de veiligheid te garanderen.