🔍 CVE-2023-4807

7.8
CVSS Score
HIGH
2023-09-08
2026-10-14 22:17
✅ 완료

🇰🇷 한글 설명

Windows 64비트 플랫폼에서 AVX512-IFMA 명령어를 지원하는 최신 x86_64 프로세서를 사용할 때, OpenSSL의 POLY1305 MAC 구현에서 XMM 레지스터의 상태를 제대로 복구하지 못하는 버그가 발견되었습니다. 이로 인해 애플리케이션의 내부 상태가 손상되어 계산 오류가 발생하거나 서비스 거부(DoS)가 일어날 수 있습니다.

💡 쉬운 설명

특정 최신 CPU를 사용하는 윈도우 컴퓨터에서 암호화 계산을 할 때, 컴퓨터가 기억해야 할 중요한 데이터를 실수로 지워버리는 문제가 있습니다. 이로 인해 프로그램이 갑자기 꺼지거나 잘못된 계산 결과를 내놓을 수 있습니다.

🇺🇸 원문 (English)

Issue summary: The POLY1305 MAC (message authentication code) implementation contains a bug that might corrupt the internal state of applications on the Windows 64 platform when running on newer X86_64 processors supporting the AVX512-IFMA instructions. Impact summary: If in an application that uses the OpenSSL library an attacker can influence whether the POLY1305 MAC algorithm is used, the application state might be corrupted with various application dependent consequences. The POLY1305 MAC (message authentication code) implementation in OpenSSL does not save the contents of non-volatile XMM registers on Windows 64 platform when calculating the MAC of data larger than 64 bytes. Before returning to the caller all the XMM registers are set to zero rather than restoring their previous content. The vulnerable code is used only on newer x86_64 processors supporting the AVX512-IFMA instructions. The consequences of this kind of internal application state corruption can be various - from no consequences, if the calling application does not depend on the contents of non-volatile XMM registers at all, to the worst consequences, where the attacker could get complete control of the application process. However given the contents of the registers are just zeroized so the attacker cannot put arbitrary values inside, the most likely consequence, if any, would be an incorrect result of some application dependent calculations or a crash leading to a denial of service. The POLY1305 MAC algorithm is most frequently used as part of the CHACHA20-POLY1305 AEAD (authenticated encryption with associated data) algorithm. The most common usage of this AEAD cipher is with TLS protocol versions 1.2 and 1.3 and a malicious client can influence whether this AEAD cipher is used by the server. This implies that server applications using OpenSSL can be potentially impacted. However we are currently not aware of any concrete application that would be affected by this issue therefore we consider this a Low severity security issue. As a workaround the AVX512-IFMA instructions support can be disabled at runtime by setting the environment variable OPENSSL_ia32cap: OPENSSL_ia32cap=:~0x200000 The FIPS provider is not affected by this issue.

📍 영향받는 시스템

AVX512-IFMA를 지원하는 x86_64 프로세서 기반의 Windows 64비트 환경에서 OpenSSL을 사용하는 애플리케이션

⚔️ 공격 벡터

공격자가 TLS 통신 과정에서 CHACHA20-POLY1305 암호화 알고리즘을 사용하도록 유도하여 애플리케이션 상태를 손상시킴

🛡️ 대응 방법

OpenSSL을 최신 버전으로 업데이트하거나, 환경 변수 OPENSSL_ia32cap=:~0x200000을 설정하여 AVX512-IFMA 지원을 비활성화함

🔧 검증 코드

출력된 OpenSSL 버전을 확인하여 취약점이 해결된 보안 패치 버전인지 확인합니다.

Shell / Script
openssl version

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

OpenSSL