🔍 CVE-2023-28322

3.7
CVSS Score
LOW
2023-05-26
2026-10-23 23:10
✅ 완료

🇰🇷 한글 설명

curl 8.1.0 이전 버전에서 HTTP(S) 전송 시, 동일한 핸들로 CURLOPT_READFUNCTION 콜백을 사용하는 PUT 요청을 수행한 뒤 POST 요청으로 전환하면, CURLOPT_POSTFIELDS가 설정되어 있어도 읽기 콜백을 호출할 수 있습니다. 이로 인해 잘못된 데이터가 전송되거나 해제된 메모리를 사용하는 문제가 발생할 수 있습니다.

💡 쉬운 설명

curl 프로그램을 같은 설정으로 연속 사용할 때, 이전 요청의 설정이 남아 엉뚱한 데이터가 전송될 수 있습니다. 이 때문에 민감한 정보가 의도하지 않은 곳으로 노출될 위험이 있습니다.

🇺🇸 원문 (English)

An information disclosure vulnerability exists in curl <v8.1.0 when doing HTTP(S) transfers, libcurl might erroneously use the read callback (`CURLOPT_READFUNCTION`) to ask for data to send, even when the `CURLOPT_POSTFIELDS` option has been set, if the same handle previously wasused to issue a `PUT` request which used that callback. This flaw may surprise the application and cause it to misbehave and either send off the wrong data or use memory after free or similar in the second transfer. The problem exists in the logic for a reused handle when it is (expected to be) changed from a PUT to a POST.

📍 영향받는 시스템

curl 8.1.0 미만을 사용하는 libcurl 기반 애플리케이션 및 시스템 전반

⚔️ 공격 벡터

동일한 핸들을 재사용하는 애플리케이션에서 PUT에서 POST로 전환되는 요청 흐름을 악용해 잘못된 데이터 전송 또는 메모리 오류를 유발

🛡️ 대응 방법

curl 및 libcurl을 8.1.0 이상으로 업그레이드하고, 배포판 보안 업데이트를 적용

🔧 검증 코드

출력된 버전이 8.1.0 미만이면 취약하므로 업그레이드가 필요하고, 8.1.0 이상이면 이 취약점에 영향받지 않습니다.

Shell / Script
curl --version | head -n 1

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

curl