Wycheproof를 사용하여 elliptic 라이브러리에서 암호화 버그를 발견했습니다.
Trail of Bits는 널리 사용되는 JavaScript 라이브러리인 elliptic에서 두 가지 취약점을 공개적으로 발표합니다. Wycheproof 테스트 도구를 사용하여 발견된 이 취약점들은 매주 수백만 번 다운로드되는 라이브러리에 영향을 미칩니다. 한 가지 취약점은 서명 구성 요소가 허용된 범위 내에 있는지 확인하지 못하여 EdDSA 서명 가변성을 허용합니다. 이는 공격자가 알려진 메시지 쌍에 대해 유효한 서명을 위조할 수 있게 합니다. 두 번째 취약점인 CVE-2024-48948은 ECDSA 서명 검증에 영향을 미칩니다. 메시지 해시에 선행 0이 있는 경우 유효한 서명이 검증에 실패하게 만듭니다. 이는 라이브러리가 숫자 객체로 변환 후 해시 크기를 잘못 계산하기 때문에 발생합니다. 이 잘못된 계산으로 인해 해시가 부적절하게 잘려 올바른 검증을 방해합니다. 이러한 중요한 취약점 중 하나는 2024년 10월에 90일 공개 기간이 종료되었음에도 불구하고 수정되지 않은 상태로 남아 있습니다. Trail of Bits는 암호화 라이브러리에 대해 Wycheproof와 같은 도구를 사용한 지속적인 테스트의 중요성을 강조합니다. 공개 프로세스는 GitHub 권고를 통해 라이브러리 유지 관리자에게 비공개로 보고하는 방식으로 진행되었습니다. EdDSA 문제는 즉시 해결되었지만 ECDSA 문제는 대응이 지연되었습니다. 이번 발견은 elliptic 라이브러리에 의존하는 프로젝트에 대한 심각한 보안 영향을 강조합니다.