🇰🇷 한글 설명
PJSIP의 PJLIB-UTIL 텔넷 CLI 프런트엔드에서 명령줄 피드백을 렌더링할 때 스택 버퍼 오버플로우가 발생합니다. 공격자가 조작한 긴 명령줄을 입력하면 고정 크기 버퍼를 초과하여 프로그램이 종료될 수 있습니다. 이 취약점은 텔넷 CLI 프런트엔드를 활성화한 애플리케이션에만 영향을 미칩니다.
💡 쉬운 설명
프로그램의 관리용 채팅창(텔넷)에 너무 긴 명령어를 입력하면 프로그램이 감당하지 못하고 갑자기 꺼질 수 있는 문제입니다. 다만, 이 관리창에 이미 접속할 수 있는 권한이 있는 사람만 이 문제를 일으킬 수 있습니다.
🇺🇸 원문 (English)
PJSIP is a free and open source multimedia communication library written in C. Prior to commit 4472a31, a stack buffer overflow exists in the PJLIB-UTIL telnet CLI front-end when rendering feedback for an entered command line. Several command-line handling paths write an attacker-influenced amount of data into fixed-size buffers without sufficient bounds checking, so a long command line can overflow them. This affects only applications that enable the telnet CLI front-end (e.g. pj_cli_telnet_create() / --cli-telnet-port). The telnet CLI is an interactive administration interface with no authentication, so any client able to reach it can already issue arbitrary CLI commands. A malformed or overly long command line can overflow a fixed-size stack buffer while rendering command-line feedback, which may lead to application termination. Because reaching this code already requires access to the unauthenticated CLI, the impact beyond that existing access is limited. Applications that do not enable the telnet CLI front-end are not affected. This issue has been patched via commit 4472a31.
📍 영향받는 시스템
PJSIP (commit 4472a31 이전 버전 중 telnet CLI를 활성화한 경우)
⚔️ 공격 벡터
인증되지 않은 텔넷 CLI 인터페이스를 통해 매우 긴 명령줄을 전송
🛡️ 대응 방법
PJSIP를 최신 버전(commit 4472a31 이상이 반영된 버전)으로 업데이트하거나 사용하지 않는 경우 텔넷 CLI 기능을 비활성화
🔧 검증 코드
명령어 결과가 'Patched'이면 패치된 상태이며, 'Vulnerable'이면 취약한 상태입니다.
git log -1 --format=%H | grep -q 4472a31 && echo 'Patched' || echo 'Vulnerable'