🇰🇷 한글 설명
OpenSSL의 EVP_PKEY_public_check() 함수가 신뢰할 수 없는 출처에서 받은 매우 큰 소수 RSA 공개키를 검증할 때 과도한 연산 시간이 소요되는 문제입니다. 이를 악용하여 서비스거부(DoS) 공격이 가능하며, OpenSSL 3.0/3.1 FIPS 공급자가 영향을 받습니다.
💡 쉬운 설명
어떤 프로그램이 신뢰할 수 없는 곳에서 받은 암호화 열쇠의 유효성을 검증할 때 비정상적으로 오래 걸릴 수 있습니다. 공격자는 이를 이용해 특정 열쇠 검증으로 프로그램을 마비시킬 수 있습니다.
🇺🇸 원문 (English)
Issue summary: Checking excessively long invalid RSA public keys may take
a long time.
Impact summary: Applications that use the function EVP_PKEY_public_check()
to check RSA public keys may experience long delays. Where the key that
is being checked has been obtained from an untrusted source this may lead
to a Denial of Service.
When function EVP_PKEY_public_check() is called on RSA public keys,
a computation is done to confirm that the RSA modulus, n, is composite.
For valid RSA keys, n is a product of two or more large primes and this
computation completes quickly. However, if n is an overly large prime,
then this computation would take a long time.
An application that calls EVP_PKEY_public_check() and supplies an RSA key
obtained from an untrusted source could be vulnerable to a Denial of Service
attack.
The function EVP_PKEY_public_check() is not called from other OpenSSL
functions however it is called from the OpenSSL pkey command line
application. For that reason that application is also vulnerable if used
with the '-pubin' and '-check' options on untrusted data.
The OpenSSL SSL/TLS implementation is not affected by this issue.
The OpenSSL 3.0 and 3.1 FIPS providers are affected by this issue.
📍 영향받는 시스템
OpenSSL 3.0.x, 3.1.x (FIPS 공급자), pkey 명령줄 도구
⚔️ 공격 벡터
신뢰할 수 없는 출처의 악의적인 RSA 공개키(매우 큰 소수)를 EVP_PKEY_public_check()로 검증하도록 유도
🛡️ 대응 방법
OpenSSL을 3.0.13, 3.1.5 이상 패치 버전으로 업그레이드
🔧 검증 코드
설치된 OpenSSL 버전이 3.0.13 또는 3.1.5 이상인지 확인하여 패치 적용 여부 검증
openssl version && apt-cache policy openssl | grep Installed