🇰🇷 한글 설명
openssl-encrypt (pip 패키지) 1.4.9 미만 버전에서 verify-usb v2의 파일 허용 목록 스캔 시 심볼릭 링크를 추적하는 결함이 발견되었습니다. 공격자가 물리적 접근을 통해 심볼릭 링크와 악성 .pyc 파일을 심어두면, 검증 프로세스를 우회하여 사용자가 프로그램을 실행할 때 임의의 코드를 실행할 수 있습니다.
💡 쉬운 설명
USB 드라이브에 가짜 폴더 연결(심볼릭 링크)을 만들어 보안 검사를 속이는 공격입니다. 검사를 통과한 것처럼 보이지만, 실제로는 숨겨진 악성 코드가 실행되어 컴퓨터가 해킹될 수 있습니다.
🇺🇸 원문 (English)
openssl-encrypt (pip package) before 1.4.9 contains a symlink-following flaw in its verify-usb v2 added-file allowlist scan. The scan enumerated the drive with rglob(), which in CPython does not descend into symlinked directories and treats the symlink as an ordinary directory, while O_NOFOLLOW on the hash side binds only the final path component. An evil-maid attacker with physical access to the removable drive could replace a tool-tree directory with a symlink to a copy containing byte-identical files plus a planted __pycache__/*.pyc file (which CPython loads in preference to recompiling the clean .py). The planted file is never enumerated, added_files stays 0, and verify-usb reports PASSED, resulting in code execution when the victim runs the portable install. Fixed in 1.4.9 (affects both 1.4.x and 1.5.x lines).
📍 영향받는 시스템
openssl-encrypt pip package versions before 1.4.9 (including 1.4.x and 1.5.x lines)
⚔️ 공격 벡터
Physical access to a removable drive (Evil-maid attack) using symlink-based file bypass
🛡️ 대응 방법
Update openssl-encrypt package to version 1.4.9 or higher
🔧 검증 코드
출력된 Version이 1.4.9 미만이면 취약한 상태이며, 1.4.9 이상이면 안전합니다.
pip show openssl-encrypt 2>/dev/null | grep -E 'Version'
📊 CVSS Vector String
CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:C/C:N/I:H/A:H
💻 영향받는 소프트웨어
IBM Security Verify Access