🇰🇷 한글 설명
PJSIP의 PJLIB-UTIL HTTP 클라이언트에서 HTTP 응답 본문을 버퍼링할 때 힙 버퍼 오버플로우가 발생합니다. 서버가 제공한 Content-Length를 기반으로 버퍼 크기를 잘못 계산하여, 응답 데이터가 할당된 메모리 범위를 벗어나 기록될 수 있습니다. 이 취약점은 악의적인 서버나 중간자 공격(MITM)을 통해 애플리케이션 종료 또는 메모리 오염을 유발할 수 있습니다.
💡 쉬운 설명
인터넷 통신 라이브러리가 데이터를 저장할 공간을 계산할 때 실수하여, 정해진 공간보다 더 많은 데이터를 억지로 밀어 넣는 문제입니다. 이로 인해 프로그램이 갑자기 꺼지거나 해커가 컴퓨터를 조작할 위험이 있습니다.
🇺🇸 원문 (English)
PJSIP is a free and open source multimedia communication library written in C. Prior to commit 8d5956a, a heap buffer overflow exists in the PJLIB-UTIL HTTP client (http_client.c) when buffering an HTTP response body. This affects applications that use the PJLIB-UTIL HTTP client to receive a whole response body at once (a completion callback with no incremental on_data_read callback). When growing the response buffer, an incorrect size calculation based on the server-supplied Content-Length can leave the buffer too small, causing response data to be written past the end of the allocation. A malicious or man-in-the-middle HTTP server can trigger this with a crafted response; impact may range from unexpected application termination to memory corruption. Applications that consume the response incrementally (via on_data_read), or that only connect to trusted servers, are not affected. This issue has been patched via commit 8d5956a.
📍 영향받는 시스템
PJSIP 라이브러리 (commit 8d5956a 이전 버전)
⚔️ 공격 벡터
조작된 Content-Length를 포함한 HTTP 응답을 보내는 악의적인 서버 또는 중간자 공격(MITM)
🛡️ 대응 방법
PJSIP를 최신 버전으로 업데이트하거나 commit 8d5956a가 적용된 패치 버전을 사용하십시오.
🔧 검증 코드
명령어 결과가 'Patched'이면 수정된 버전이며, 'Vulnerable'이면 취약한 버전입니다.
git log -1 --format=%h | grep -q '8d5956a' && echo 'Patched' || echo 'Vulnerable'
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
💻 영향받는 소프트웨어
IBM WebSphere Application Server