🇰🇷 한글 설명
Asterisk는 오픈소스 PBX 및 텔레포니 툴킷입니다. 20.20.1, 21.12.3, 22.10.1, 23.4.1 이전 버전 및 Certified Asterisk 20.7-cert11, 22.8-cert3 이전 버전에서 H.323 ooTrace() 추적 로깅 함수의 unbounded vsprintf가 고정 크기 2048바이트 스택 버퍼에 쓰면서 스택 버퍼 오버플로우가 발생할 수 있습니다. 원격 공격자가 조작된 패킷을 보내 Asterisk 프로세스를 크래시시킬 수 있습니다. chan_ooh323 애드온이 명시적으로 컴파일 및 설치되어 있고 해당 포트가 외부에서 접근 가능한 경우에만 영향을 받습니다.
💡 쉬운 설명
전화 시스템 소프트웨어(Asterisk)의 H.323 기능에 결함이 있어, 악의적인 데이터를 받으면 프로그램이 멈출 수 있습니다. 기본 설정에서는 해당 기능이 설치되지 않아 영향이 제한적입니다.
🇺🇸 원문 (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, a stack buffer overflow in the H.323 `ooTrace()` trace-logging function can occur when unbounded `vsprintf` writes into a fixed `2048-byte buffer`. A remote attacker may send a carefully crafted packet that causes the Asterisk process to crash. The `chan_ooh323` addon channel driver must be explicitly compiled and installed, which is not the default, and its port must be publicly reachable. 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_ooh323가 설치·외부 노출된 시스템
⚔️ 공격 벡터
원격지에서 조작된 H.323 패킷을 전송하여 스택 버퍼 오버플로우를 유발, 프로세스 크래시(서비스 거부)를 일으킴
🛡️ 대응 방법
Asterisk를 20.20.1, 21.12.3, 22.10.1, 23.4.1 또는 Certified Asterisk 20.7-cert11, 22.8-cert3 이상으로 업그레이드하고, 사용하지 않는다면 chan_ooh323를 제거하거나 H.323 포트를 방화벽으로 차단
🔧 검증 코드
첫 번째 출력은 Asterisk 버전으로 취약 버전 여부를 확인하고, 두 번째로 chan_ooh323.so 파일이 출력되면 해당 모듈이 설치되어 있어 위험하며, 아무것도 출력되지 않으면 모듈이 없어 영향받지 않습니다.
asterisk -V 2>/dev/null; ls /usr/lib/asterisk/modules/chan_ooh323.so 2>/dev/null