애플리케이션이 `CURLOPT_STREAM_DEPENDS` 또는 `CURLOPT_STREAM_DEPENDS_E`를 통해 HTTP/2 스트림 종속성 트리를 구성하고, 이후 `curl_easy_reset()`을 호출한 다음 마지막으로 `curl_easy_cleanup()`으로 핸들을 종료할 때 libcurl에 use-after-free 취약점이 존재합니다. 이 최종 정리 단계에서 libcurl은 재설정 작업 중 이미 해제된 내부 구조에 접근하여 이를 수정하려고 시도합니다.
애플리케이션이 `CURLOPT_STREAM_DEPENDS` 또는 `CURLOPT_STREAM_DEPENDS_E`를 통해 HTTP/2 스트림 종속성 트리를 구성하고, 이후 `curl_easy_reset()`을 호출한 다음 마지막으로 `curl_easy_cleanup()`으로 핸들을 종료할 때 libcurl에 use-after-free 취약점이 존재합니다. 이 최종 정리 단계에서 libcurl은 재설정 작업 중 이미 해제된 내부 구조에 접근하여 이를 수정하려고 시도합니다.
한국어 설명은 영문 원문을 기준으로 제공됩니다. 제품명·버전·보안 식별자는 아래 원문과 함께 확인할 수 있습니다.
영문 원문 보기
A use-after-free vulnerability exists in libcurl when an application configures an HTTP/2 stream-dependency tree via `CURLOPT_STREAM_DEPENDS` or `CURLOPT_STREAM_DEPENDS_E`, subsequently invokes `curl_easy_reset()`, and finally terminates the handle with `curl_easy_cleanup()`. During this final cleanup phase, libcurl attempts to access and modify an internal structure that was already freed during the reset operation.