🇰🇷 한글 설명
wolfSSL의 AVX2 최적화 ML-KEM 구현체에서 ML-KEM-1024 복호화 시 암호문 비교 과정에 논리적 오류가 발견되었습니다. 암호문의 마지막 32바이트를 검증하지 않아 공격자가 조작된 암호문을 유효한 것으로 통과시킬 수 있으며, 이를 통해 개인키를 탈취할 수 있습니다.
💡 쉬운 설명
암호문을 검사할 때 일부분을 확인하지 않는 실수로 인해, 가짜 암호문이 진짜처럼 통과되는 보안 구멍이 생겼습니다. 공격자는 이 구멍을 이용해 암호화에 사용되는 중요한 비밀키를 알아낼 수 있습니다.
🇺🇸 원문 (English)
wolfSSL's AVX2-optimized ML-KEM implementation (mlkem_cmp_avx2) compares only 1536 of the 1568 ciphertext bytes during the Fujisaki-Okamoto re-encryption check in ML-KEM-1024 decapsulation. Ciphertexts that differ from the expected re-encryption solely in bytes 1536-1567 bypass implicit rejection and are accepted as valid, breaking IND-CCA2 security. An attacker able to submit chosen ciphertexts to a decapsulation oracle that uses a static ML-KEM-1024 key, and to observe whether the genuine shared secret or the implicit-rejection secret was produced, can use this as a plaintext-checking oracle to recover the private key. A proof of concept recovered a full ML-KEM-1024 private key with approximately 98% success using roughly 350 chosen ciphertexts. The flaw is a deterministic logic error and does not rely on timing measurements.
📍 영향받는 시스템
wolfSSL (AVX2 최적화 ML-KEM-1024 구현을 사용하는 버전)
⚔️ 공격 벡터
조작된 암호문을 전송하여 복호화 결과의 차이를 관찰함으로써 개인키를 추출하는 공격
🛡️ 대응 방법
wolfSSL의 ML-KEM-1024 AVX2 구현체에 대한 보안 패치 적용 및 최신 버전 업데이트
🔧 검증 코드
현재 설치된 wolfSSL 버전이 해당 취약점이 해결된 패치 버전인지 제조사 보안 권고문을 통해 확인하십시오.
wolfssl_version_check_command_placeholder