최근 사이버 보안 회사인 Codean Labs의 연구원들은 오픈 소스 암호화 라이브러리 OpenPGP.js에서 고위험 보안 취약점을 공개했습니다. 이 보안 취약점으로 인해 서명되고 암호화된 메시지가 임의로 위조될 수 있으며, 이로 인해 이 기술을 사용하는 이메일 공개 키 암호화가 완전히 파괴됩니다.

OpenPGP.js는 JavaScript로 작성된 오픈 소스 암호화 라이브러리로, 웹 애플리케이션 및 Node.js 환경에 대한 OpenPGP 표준을 기반으로 암호화 및 복호화 기능을 제공하도록 설계되었습니다. 즉, 클라이언트 또는 서버 측에서 안전하게 암호화된 이메일 통신을 달성하고 파일 암호화 및 디지털 서명 등을 지원합니다.
현재 암호화된 이메일 제공업체인 Proton Mail은 주로 이 암호화 라이브러리를 사용합니다. 실제로 이 오픈소스 라이브러리는 주로 Proton Mail에서 관리하고 있기 때문에 실제로 가장 큰 영향을 받는 사용자도 Proton Mail입니다. 할당된 취약점 번호는 CVE-2025-47934이며 취약점 점수는 8.7/10입니다. 보안 문제로 인해 연구원들은 취약점에 대한 전체 설명과 개념 증명을 공개하지 않았지만, 이러한 개념 증명 코드는 취약점이 수정된 후 차례로 공개될 예정입니다.
간단한 설명을 통해 우리는 근본적인 문제가 OpenPGP.js의 신뢰 서명 프로세스의 결함이라는 것을 알게 되었습니다. 메시지를 위조하려면 공격자는 유효한 메시지 서명과 합법적으로 서명된 일반 텍스트 데이터가 필요합니다. 그런 다음 공격자는 공격자가 선택한 데이터를 사용하여 OpenPGP.js에서 합법적으로 서명한 것처럼 보이는 서명된 암호화된 메시지를 위조할 수 있습니다.
영향을 받는 버전은 OpenPGP.js 5.0.1~5.11.2 및 6.0.0-alpha~6.1.0입니다. 4.x 시리즈 버전은 영향을 받지 않으므로 OpenPGP.js를 사용하는 개발자와 사용자는 안전을 위해 버전 5.11.3 및 6.1.1로 업그레이드해야 합니다.