🔍 CVE-2021-32685

9.8
CVSS Score
CRITICAL
2021-06-16
2026-06-17 03:53
✅ 완료

🇰🇷 한글 설명

tEnvoy 라이브러리의 7.0.3 미만 버전에서 tEnvoyNaClSigningKey 클래스의 verifyWithMessage 메서드에 보안 결함이 존재합니다. 이 결함은 서명이 유효하지 않더라도 메시지의 SHA-512 해시값이 일치하면 항상 true를 반환하여 인증을 우회할 수 있게 합니다.

💡 쉬운 설명

서명이 가짜이더라도 내용물만 같으면 진짜라고 믿어버리는 심각한 보안 오류가 있습니다. 이로 인해 공격자가 인증 과정을 속이고 시스템에 침입할 수 있습니다.

🇺🇸 원문 (English)

tEnvoy contains the PGP, NaCl, and PBKDF2 in node.js and the browser (hashing, random, encryption, decryption, signatures, conversions), used by TogaTech.org. In versions prior to 7.0.3, the `verifyWithMessage` method of `tEnvoyNaClSigningKey` always returns `true` for any signature that has a SHA-512 hash matching the SHA-512 hash of the message even if the signature was invalid. This issue is patched in version 7.0.3. As a workaround: In `tenvoy.js` under the `verifyWithMessage` method definition within the `tEnvoyNaClSigningKey` class, ensure that the return statement call to `this.verify` ends in `.verified`.

📍 영향받는 시스템

tEnvoy versions prior to 7.0.3

⚔️ 공격 벡터

유효하지 않은 서명을 사용하되 메시지의 SHA-512 해시값만 일치시켜 인증을 우회하는 방식

🛡️ 대응 방법

tEnvoy를 7.0.3 버전 이상으로 업데이트하거나, tenvoy.js 내 verifyWithMessage 메서드의 반환값이 .verified로 끝나도록 수정합니다.

🔧 검증 코드

출력된 tenvoy의 버전이 7.0.3 미만인지 확인합니다.

Shell / Script
npm list tenvoy

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

Node.js