🔍 CVE-2016-6485

7.5
CVSS Score
HIGH
2017-03-01
2026-05-13 00:24
✅ 완료

🇰🇷 한글 설명

Magento 2의 암호화 모듈에서 초기화 벡터(IV) 생성에 암호학적으로 안전하지 않은 PHP rand() 함수를 사용하여, 공격자가 난수를 추측하여 암호화 보호를 우회할 수 있는 취약점입니다. 이를 통해 민감한 데이터의 암호화가 약화됩니다.

💡 쉬운 설명

Magento 2가 데이터를 잠그기 위해 사용하는 '열쇠'를 생성할 때 약한 난수 생성기를 사용해서, 해커가 그 열쇠를 쉽게 맞출 수 있는 문제입니다. 결과적으로 암호화된 데이터가 쉽게 해독될 수 있습니다.

🇺🇸 원문 (English)

The __construct function in Framework/Encryption/Crypt.php in Magento 2 uses the PHP rand function to generate a random number for the initialization vector, which makes it easier for remote attackers to defeat cryptographic protection mechanisms by guessing the value.

📍 영향받는 시스템

Magento 2.0.x ~ 2.0.11 버전 (이후 버전에서 패치됨)

⚔️ 공격 벡터

공격자가 약한 IV 값을 통계적으로 추측하여 암호화된 데이터를 무차별 대입(brute force) 또는 통계 분석으로 복호화

🛡️ 대응 방법

Magento 2.0.12 이상으로 업그레이드하거나, Framework/Encryption/Crypt.php에서 rand() 대신 random_bytes() 또는 openssl_random_pseudo_bytes()를 사용하도록 패치 적용

🔧 검증 코드

취약한 rand() 함수가 IV 생성에 사용되고 있으면 해당 줄이 출력되며, 출력되지 않으면 패치가 적용된 상태입니다.

Shell / Script
grep -r 'rand()' /path/to/magento/app/code/Magento/Framework/Encryption/ 2>/dev/null | grep -i 'iv\|vector'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

PHP