🇰🇷 한글 설명
Asterisk의 chan_unistim 모듈에서 DIALPAGE 숫자 처리 시 발생하는 범위 외 쓰기(out-of-bounds write) 취약점입니다. 조작된 요청 패킷으로 phone_number 필드를 오버플로우시켜 Asterisk를 크래시시킬 수 있습니다. chan_unistim 모듈이 로드되고 UNISTIM UDP 포트가 공격자에게 노출된 경우에만 영향을 받습니다.
💡 쉬운 설명
전화 시스템 소프트웨어가 특정 악성 데이터를 받으면 메모리 범위를 넘어 기록해 시스템이 멈출 수 있습니다. 공격자는 등록된 전화기처럼 위장하거나 자동 프로비저닝 경로를 이용해 이 문제를 일으킬 수 있습니다.
🇺🇸 원문 (English)
Asterisk is an open source private branch exchange and telephony toolkit. Prior to Asterisk 20.20.1, 21.12.3, 22.10.1, 23.4.1 and Certified Asterisk 20.7-cert11, 22.8-cert3, an out-of-bounds write in `chan_unistim` `DIALPAGE` digit handling can overflow the `phone_number` field and crash Asterisk when an attacker sends a carefully crafted incoming request packet. The `chan_unistim` module must be loaded and configured with a valid `UNISTIM UDP port` that the attacker can reach. The attacker must register as a configured `phone MAC`, or the deployment must have an equivalent `production/autoprovisioning` path that allows the client to reach the main page. This issue is fixed in Asterisk 20.20.1, 21.12.3, 22.10.1, 23.4.1 and Certified Asterisk 20.7-cert11, 22.8-cert3.
📍 영향받는 시스템
Asterisk 20.20.1 미만, 21.12.3 미만, 22.10.1 미만, 23.4.1 미만 및 Certified Asterisk 20.7-cert11 미만, 22.8-cert3 미만 (chan_unistim 사용 시)
⚔️ 공격 벡터
UNISTIM UDP 포트로 조작된 수신 요청 패킷을 전송하여 phone_number 버퍼 오버플로우 유발 (등록된 phone MAC 위장 또는 자동 프로비저닝 경로 악용 필요)
🛡️ 대응 방법
Asterisk 20.20.1, 21.12.3, 22.10.1, 23.4.1 또는 Certified Asterisk 20.7-cert11, 22.8-cert3 이상으로 업데이트하거나, chan_unistim 모듈을 비활성화하고 UNISTIM UDP 포트를 방화벽으로 차단합니다.
🔧 검증 코드
출력된 버전이 수정된 버전(20.20.1 이상 등)보다 낮으면 취약하며, unistim 항목이 load 상태로 나타나면 chan_unistim 모듈이 활성화된 것입니다.
asterisk -V 2>/dev/null; grep -ril unistim /etc/asterisk/modules.conf 2>/dev/null