🔍 CVE-2021-22897

5.3
CVSS Score
MEDIUM
2021-06-11
2026-10-14 11:16
✅ 완료

🇰🇷 한글 설명

Schannel TLS 라이브러리를 사용하는 libcurl에서 CURLOPT_SSL_CIPHER_LIST 설정 시 오류가 발생하여 데이터 요소가 잘못된 세션에 노출될 수 있습니다. 암호화 제품군이 단일 정적 변수에 저장되어 여러 전송이 동시에 발생할 경우 마지막에 설정된 암호화 방식이 모든 전송에 적용되어 보안이 약화될 수 있습니다.

💡 쉬운 설명

여러 개의 인터넷 연결을 동시에 사용할 때, 마지막에 설정한 보안 규칙이 모든 연결에 똑같이 적용되어 보안이 취약해질 수 있는 문제입니다. 이로 인해 원래 사용해야 할 강력한 암호화 방식 대신 약한 방식이 사용될 위험이 있습니다.

🇺🇸 원문 (English)

curl 7.61.0 through 7.76.1 suffers from exposure of data element to wrong session due to a mistake in the code for CURLOPT_SSL_CIPHER_LIST when libcurl is built to use the Schannel TLS library. The selected cipher set was stored in a single "static" variable in the library, which has the surprising side-effect that if an application sets up multiple concurrent transfers, the last one that sets the ciphers will accidentally control the set used by all transfers. In a worst-case scenario, this weakens transport security significantly.

📍 영향받는 시스템

curl 7.61.0 ~ 7.76.1 (Schannel TLS 라이브러리를 사용하는 경우)

⚔️ 공격 벡터

동시에 여러 전송을 수행하는 애플리케이션에서 암호화 설정이 덮어씌워지는 것을 이용한 보안 약화 공격

🛡️ 대응 방법

curl 버전을 7.77.0 이상으로 업데이트하거나 Schannel 대신 다른 TLS 라이브러리를 사용하도록 빌드

🔧 검증 코드

출력된 curl 버전이 7.61.0에서 7.76.1 사이인지 확인하여 취약 여부를 판단합니다.

Shell / Script
curl --version | grep -E 'curl/[0-9.]+'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

libcurl