🔍 CVE-2021-22901

8.1
CVSS Score
HIGH
2021-06-11
2026-10-14 11:16
✅ 완료

🇰🇷 한글 설명

curl 7.75.0부터 7.76.1 버전에서 TLS 1.3 세션 티켓이 도착할 때 이미 해제된 메모리를 참조하는 Use-After-Free 취약점이 발견되었습니다. 악의적인 서버는 이를 악용하여 클라이언트에서 원격 코드 실행(RCE)을 시도할 수 있습니다.

💡 쉬운 설명

프로그램이 이미 사용이 끝나서 버린 메모리 공간을 다시 사용하려고 할 때 발생하는 오류입니다. 해커가 조작된 데이터를 보내면 사용자의 컴퓨터에서 몰래 악성 명령을 실행할 수 있습니다.

🇺🇸 원문 (English)

curl 7.75.0 through 7.76.1 suffers from a use-after-free vulnerability resulting in already freed memory being used when a TLS 1.3 session ticket arrives over a connection. A malicious server can use this in rare unfortunate circumstances to potentially reach remote code execution in the client. When libcurl at run-time sets up support for TLS 1.3 session tickets on a connection using OpenSSL, it stores pointers to the transfer in-memory object for later retrieval when a session ticket arrives. If the connection is used by multiple transfers (like with a reused HTTP/1.1 connection or multiplexed HTTP/2 connection) that first transfer object might be freed before the new session is established on that connection and then the function will access a memory buffer that might be freed. When using that memory, libcurl might even call a function pointer in the object, making it possible for a remote code execution if the server could somehow manage to get crafted memory content into the correct place in memory.

📍 영향받는 시스템

curl 7.75.0 ~ 7.76.1 버전 (OpenSSL 사용 시)

⚔️ 공격 벡터

악의적인 TLS 1.3 세션 티켓을 전송하는 서버를 통한 원격 공격

🛡️ 대응 방법

curl을 최신 버전(7.77.0 이상)으로 업데이트하십시오.

🔧 검증 코드

출력된 curl 버전이 7.75.0 미만이거나 7.76.1보다 높은지 확인하십시오.

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

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

OpenSSL