🔍 CVE-2023-28320

5.9
CVSS Score
MEDIUM
2023-05-26
2026-10-23 23:10
✅ 완료

🇰🇷 한글 설명

curl 8.1.0 미만 버전에서 빌드 시 동기식 리졸버를 사용하면, alarm()과 siglongjmp()를 이용한 호스트 이름 해석 타임아웃 처리 과정에서 서비스 거부(DoS) 취약점이 발생합니다. 이 과정에서 libcurl은 뮤텍스로 보호되지 않은 전역 버퍼를 사용하므로, 멀티스레드 애플리케이션이 충돌하거나 비정상 동작할 수 있습니다.

💡 쉬운 설명

curl 프로그램이 인터넷 주소를 찾는 과정에서 여러 작업이 동시에 같은 공간을 건드려 프로그램이 멈추거나 꺼질 수 있습니다. 특히 여러 작업을 동시에 처리하는 서버 환경에서 문제가 더 쉽게 발생합니다.

🇺🇸 원문 (English)

A denial of service vulnerability exists in curl <v8.1.0 in the way libcurl provides several different backends for resolving host names, selected at build time. If it is built to use the synchronous resolver, it allows name resolves to time-out slow operations using `alarm()` and `siglongjmp()`. When doing this, libcurl used a global buffer that was not mutex protected and a multi-threaded application might therefore crash or otherwise misbehave.

📍 영향받는 시스템

curl 및 libcurl 8.1.0 미만 버전 (동기식 리졸버로 빌드된 환경, 멀티스레드 애플리케이션)

⚔️ 공격 벡터

공격자가 조작된 호스트 이름 해석 지연 상황을 유발해 타임아웃 경합을 일으켜 애플리케이션을 충돌시키는 방식

🛡️ 대응 방법

curl/libcurl을 8.1.0 이상으로 업데이트하거나 비동기 리졸버를 사용하도록 재빌드합니다.

🔧 검증 코드

출력된 버전이 8.1.0 미만이면 취약, 8.1.0 이상이면 패치된 것입니다.

Shell / Script
curl --version 2>/dev/null | head -n 1

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

curl