🔍 CVE-2026-28389

7.5
CVSS Score
HIGH
2026-04-07
2026-07-24 23:10
✅ 완료

🇰🇷 한글 설명

OpenSSL의 CMS_decrypt() 함수가 KeyAgreeRecipientInfo를 포함한 CMS EnvelopedData 메시지를 처리할 때, KeyEncryptionAlgorithmIdentifier의 선택 매개변수 필드 존재 여부를 확인하지 않아 NULL 포인터 역참조가 발생합니다. 이는 인증 및 암호화 작업이 수행되기 전에 애플리케이션이 충돌하여 서비스 거부 상황을 초래할 수 있습니다.

💡 쉬운 설명

OpenSSL에서 특수한 형태의 암호화 메시지를 처리할 때 필요한 정보가 누락되어 있는지 확인하지 않아 프로그램이 충돌합니다. S/MIME 이메일이나 암호화된 메시지를 처리하는 애플리케이션이 공격자가 보낸 악의적인 메시지로 인해 먹통이 될 수 있습니다.

🇺🇸 원문 (English)

Issue summary: During processing of a crafted CMS EnvelopedData message with KeyAgreeRecipientInfo a NULL pointer dereference can happen. Impact summary: Applications that process attacker-controlled CMS data may crash before authentication or cryptographic operations occur resulting in Denial of Service. When a CMS EnvelopedData message that uses KeyAgreeRecipientInfo is processed, the optional parameters field of KeyEncryptionAlgorithmIdentifier is examined without checking for its presence. This results in a NULL pointer dereference if the field is missing. Applications and services that call CMS_decrypt() on untrusted input (e.g., S/MIME processing or CMS-based protocols) are vulnerable. The FIPS modules in 3.6, 3.5, 3.4, 3.3 and 3.0 are not affected by this issue, as the affected code is outside the OpenSSL FIPS module boundary.

📍 영향받는 시스템

OpenSSL 3.0, 3.3, 3.4, 3.5, 3.6 버전 (FIPS 모듈 제외); S/MIME 처리 및 CMS 기반 프로토콜을 사용하는 애플리케이션

⚔️ 공격 벡터

공격자가 KeyEncryptionAlgorithmIdentifier 매개변수가 누락된 악의적인 CMS EnvelopedData 메시지를 전송하여 대상 애플리케이션을 충돌시킴

🛡️ 대응 방법

OpenSSL을 최신 패치된 버전으로 업그레이드하거나, CMS 메시지 처리 전 입력 유효성 검사를 추가로 구현

🔧 검증 코드

명령어 실행 결과에서 OpenSSL 버전을 확인하고, 3.0 이상 3.6 이하 버전이면 패치 필요 여부를 판단하면 됨

Shell / Script
openssl version && dpkg -l | grep -i openssl | awk '{print $2, $3}'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

OpenSSL