🔍 CVE-2026-69247

0.0
CVSS Score
UNKNOWN
2026-08-03
2026-10-23 21:10
✅ 완료

🇰🇷 한글 설명

Python의 cryptography 패키지 44.0.0부터 50.0.0 버전 사이에서 PKCS#7 복호화 시 오류 결과가 서로 다르게 보고되는 취약점이 발견되었습니다. 이로 인해 공격자는 RSA 복호화 과정의 결과값 길이나 타이밍 차이를 이용해 Bleichenbacher 오라클 공격을 수행할 수 있습니다. 결과적으로 공격자가 제공한 EnvelopedData의 콘텐츠 암호화 키를 탈취할 수 있는 위험이 있습니다.

💡 쉬운 설명

암호화된 메시지를 풀 때 발생하는 미세한 차이를 이용해 암호 키를 알아낼 수 있는 보안 약점입니다. 공격자가 가짜 메시지를 계속 보내보면서 시스템의 반응을 살피면 실제 암호 키를 유추할 수 있습니다.

🇺🇸 원문 (English)

cryptography is a package designed to expose cryptographic primitives and recipes to Python developers. From 44.0.0 until 50.0.0, pkcs7_decrypt_der, pkcs7_decrypt_pem, and pkcs7_decrypt_smime reported the outcome of decrypting a RecipientInfo's encryptedKey in several distinguishable ways, one of which disclosed the exact length recovered from the RSA operation. The same distinction was also observable by timing. An application that decrypts attacker-supplied EnvelopedData and reflects the outcome gives the attacker a Bleichenbacher oracle against the content-encryption key. Decryption ran as RSA PKCS#1 v1.5 decrypt of encryptedKey, build an AES cipher from the result, then AES-CBC decrypt and PKCS#7 unpad. Invalid RSA padding, a valid padding with a bad key length, a correct length with a wrong key, and the real key each failed or succeeded differently. Case 1 is reachable only where the linked library lacks implicit rejection: OpenSSL 3.0 and 3.1, LibreSSL, and BoringSSL. Exploitation requires a service that auto-decrypts untrusted EnvelopedData matching the victim certificate and answers adaptively at high volume, such as an S/MIME gateway or mail filter. This issue is fixed in 50.0.0.

📍 영향받는 시스템

cryptography package versions 44.0.0 to 50.0.0

⚔️ 공격 벡터

공격자가 조작된 EnvelopedData를 전송하고 시스템의 복호화 오류 반응(오류 유형 및 응답 시간)을 분석하는 오라클 공격

🛡️ 대응 방법

cryptography 패키지를 50.0.0 이상의 최신 버전으로 업데이트하십시오.

🔧 검증 코드

출력된 버전이 44.0.0 이상 50.0.0 미만인지 확인하십시오.

Shell / Script
pip show cryptography | grep Version

💻 영향받는 소프트웨어

OpenSSL