🇰🇷 한글 설명
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보다 높은지 확인하십시오.
curl --version | grep -E 'curl/[0-9]+\.[0-9]+\\.[0-9]+'