🇰🇷 한글 설명
OpenSSL의 mingw 설정에서 Windows 환경임에도 불구하고 기본 디렉토리를 Unix 스타일인 '/usr/local'로 설정하여 발생하는 문제입니다. 이로 인해 권한이 낮은 사용자가 쓰기 가능한 디렉토리에 설정 파일이나 CA 인증서를 조작하여 보안을 무력화할 수 있습니다.
💡 쉬운 설명
프로그램이 중요한 설정 파일을 저장하는 폴더가 누구나 수정할 수 있는 위치로 지정되어 있습니다. 해커가 이 폴더에 가짜 인증서를 넣어두면 보안 연결을 가로챌 위험이 있습니다.
🇺🇸 원문 (English)
OpenSSL has internal defaults for a directory tree where it can find a configuration file as well as certificates used for verification in TLS. This directory is most commonly referred to as OPENSSLDIR, and is configurable with the --prefix / --openssldir configuration options. For OpenSSL versions 1.1.0 and 1.1.1, the mingw configuration targets assume that resulting programs and libraries are installed in a Unix-like environment and the default prefix for program installation as well as for OPENSSLDIR should be '/usr/local'. However, mingw programs are Windows programs, and as such, find themselves looking at sub-directories of 'C:/usr/local', which may be world writable, which enables untrusted users to modify OpenSSL's default configuration, insert CA certificates, modify (or even replace) existing engine modules, etc. For OpenSSL 1.0.2, '/usr/local/ssl' is used as default for OPENSSLDIR on all Unix and Windows targets, including Visual C builds. However, some build instructions for the diverse Windows targets on 1.0.2 encourage you to specify your own --prefix. OpenSSL versions 1.1.1, 1.1.0 and 1.0.2 are affected by this issue. Due to the limited scope of affected deployments this has been assessed as low severity and therefore we are not creating new releases at this time. Fixed in OpenSSL 1.1.1d (Affected 1.1.1-1.1.1c). Fixed in OpenSSL 1.1.0l (Affected 1.1.0-1.1.0k). Fixed in OpenSSL 1.0.2t (Affected 1.0.2-1.0.2s).
📍 영향받는 시스템
OpenSSL 1.1.1 (1.1.1-1.1.1c), 1.1.0 (1.1.0-1.1.0k), 1.0.2 (1.0.2-1.0.2s)
⚔️ 공격 벡터
공격자가 쓰기 권한이 있는 디렉토리에 악성 설정 파일이나 인증서를 삽입하여 OpenSSL 동작을 조작함
🛡️ 대응 방법
OpenSSL 1.1.1d, 1.1.0l 또는 1.0.2t 이상의 최신 버전으로 업데이트
🔧 검증 코드
출력된 버전이 취약한 버전 범위(1.1.1c 이하, 1.1.0k 이하, 1.0.2s 이하)에 해당하는지 확인