🇰🇷 한글 설명
EVP_DigestVerifyFinal 함수에서 HMAC 검증 시 길이가 0인 태그를 유효한 것으로 잘못 수락하는 취약점입니다. OpenSSL 호환 HMAC 검증 경로에서 서명 길이가 MAC 길이를 초과하지 않는지만 확인하여, 길이가 0이거나 잘린 태그가 검증을 통과할 수 있었습니다. 수정 버전에서는 제공된 태그 길이가 MAC 길이와 정확히 일치해야 하며, 길이가 0인 MAC은 거부하도록 개선되었습니다.
💡 쉬운 설명
데이터가 진짜인지 확인하는 과정에서, 아무런 확인 도장(태그)이 없는 상태를 '정상'으로 착각하여 통과시켜버리는 문제입니다. 이로 인해 공격자가 가짜 데이터를 진짜인 것처럼 속여 보낼 수 있습니다.
🇺🇸 원문 (English)
HMAC zero-length tag forgery in EVP_DigestVerifyFinal, where a zero-length tag could be accepted as valid during HMAC verification. In the OpenSSL-compatibility HMAC verify path the supplied signature length was only checked as not exceeding the MAC length, so a zero-length or otherwise truncated tag could pass verification. The fix requires the supplied tag length to exactly equal the MAC length and rejects a zero-length MAC, so a forged short or empty tag is no longer accepted.
📍 영향받는 시스템
OpenSSL의 EVP_DigestVerifyFinal을 사용하는 HMAC 검증 관련 라이브러리 및 애플리케이션
⚔️ 공격 벡터
HMAC 검증 시 길이가 0이거나 잘린(truncated) 태그를 전송하여 인증을 우회함
🛡️ 대응 방법
태그 길이가 MAC 길이와 정확히 일치하도록 수정된 최신 버전의 OpenSSL로 업데이트
🔧 검증 코드
출력된 OpenSSL 버전을 확인하여 취약점이 해결된 패치 버전인지 보안 공지(Advisory)와 대조하여 확인