🇰🇷 한글 설명
openssl-encrypt 패키지 1.4.9 미만 버전의 USB 드라이브 기능에서 두 가지 취약점이 발견되었습니다. 매니페스트에 없는 파일(예: autorun 페이로드)을 탐지하지 못하는 무결성 검증 결함과, 고정된 KDF 솔트를 사용하여 오프라인 무지개 테이블 공격에 취약한 암호화 키 생성 문제가 존재합니다.
💡 쉬운 설명
USB 드라이브에 몰래 악성 파일을 넣어도 검사 시스템이 이를 찾아내지 못합니다. 또한 암호화 방식이 취약하여 해커가 미리 계산된 표를 이용해 암호를 쉽게 풀 수 있습니다.
🇺🇸 원문 (English)
openssl_encrypt (pip package openssl-encrypt) before 1.4.9 contains two weaknesses in the portable USB drive feature, whose threat model treats the removable drive as untrusted (attacker with physical write access). USBDriveCreator._verify_integrity_file only validates files listed in the manifest, so files added to the drive — including a root-level autorun payload — are not detected and integrity verification still passes. Additionally, a globally constant, source-embedded KDF salt (_LEGACY_FIXED_SALT) is used to derive the drive encryption key for any drive lacking a per-drive salt file, defeating precomputation resistance and enabling an offline rainbow-table attack.
📍 영향받는 시스템
openssl-encrypt pip package versions < 1.4.9
⚔️ 공격 벡터
물리적 쓰기 권한을 가진 공격자가 USB에 악성 파일을 추가하거나 고정된 솔트를 이용해 암호를 해독함
🛡️ 대응 방법
openssl-encrypt 패키지를 1.4.9 버전 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 Version이 1.4.9 미만이면 취약한 버전입니다.
pip show openssl-encrypt 2>/dev/null | grep -E 'Version'