🇰🇷 한글 설명
openssl_encrypt 1.4.0 미만 버전에서 암호학적으로 안전하지 않은 Python의 'random' 모듈을 임포트하여 잠재적인 보안 위험을 초래합니다. 현재 직접적인 암호화 기능에 영향을 주지는 않으나, 향후 개발자가 보안이 필요한 작업에 Mersenne Twister 알고리즘을 잘못 사용할 경우 예측 가능한 난수가 생성될 위험이 있습니다.
💡 쉬운 설명
암호화에 사용하면 안 되는 '예측 가능한 숫자 생성기'가 프로그램에 포함되어 있어 나중에 보안 사고가 날 수 있는 상태입니다. 다행히 지금 당장 문제가 되는 것은 아니지만, 안전을 위해 수정이 필요합니다.
🇺🇸 원문 (English)
openssl_encrypt before 1.4.0 imports Python's non-cryptographic 'random' module (Mersenne Twister PRNG) at line 15 of openssl_encrypt/modules/pqc.py. No direct calls to random.* were present in the code, so no cryptographic operation is currently affected; however, the import creates a hazard that future code could inadvertently use random.randint() instead of a cryptographically secure alternative (secrets/os.urandom), producing predictable values since the Mersenne Twister state can be recovered from approximately 624 outputs. Fixed by removing the import in 1.4.0.
📍 영향받는 시스템
openssl_encrypt version < 1.4.0
⚔️ 공격 벡터
직접적인 공격은 불가능하나, 향후 취약한 난수 생성 함수를 사용하는 코드가 추가될 경우 예측 가능한 난수를 이용한 공격 가능
🛡️ 대응 방법
openssl_encrypt 버전을 1.4.0 이상으로 업데이트하여 해당 임포트 문을 제거하십시오.
🔧 검증 코드
출력된 Version이 1.4.0 미만이면 취약한 버전이며, 1.4.0 이상이면 안전합니다.
pip show openssl_encrypt 2>/dev/null | grep -E 'Version'