🇰🇷 한글 설명
Asterisk는 오픈소스 PBX 및 텔레포니 툴킷입니다. 20.20.1, 21.12.3, 22.10.1, 23.4.1 및 Certified Asterisk 20.7-cert11, 22.8-cert3 이전 버전에서는, 읽기 전용 권한의 인증된 ARI 사용자가 setChannelVar를 사용해 live_dangerously가 no로 설정되어 있어도 FILE() 등 쓰기 가능한 dialplan 함수를 실행할 수 있습니다. 공격을 위해서는 HTTP 서버가 활성화되고 접근 가능해야 하며, 유효한 읽기 전용 ARI 자격 증명이 필요합니다.
💡 쉬운 설명
Asterisk라는 전화 시스템에서 읽기 전용 권한만 가진 사용자가 파일 쓰기 같은 제한된 작업을 우회해 실행할 수 있는 문제입니다. 이 취약점은 HTTP 인터페이스가 켜져 있고 유효한 계정을 가진 공격자에게만 해당됩니다.
🇺🇸 원문 (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 authenticated Asterisk REST Interface (ARI) attacker with read-only privileges may use `setChannelVar` to execute write dialplan functions, including `FILE()` writes, even when `live_dangerously` in `asterisk.conf` is set to no. The Asterisk HTTP web server must be enabled and reachable, and the attacker must already have valid `read-only ARI credentials`. HTTP is disabled by default and binds only to 127.0.0.1 by default even when enabled. 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 미만
⚔️ 공격 벡터
HTTP 및 ARI가 활성화된 환경에서 읽기 전용 ARI 자격 증명을 가진 공격자가 setChannelVar로 FILE() 등 쓰기 dialplan 함수를 실행
🛡️ 대응 방법
Asterisk 20.20.1, 21.12.3, 22.10.1, 23.4.1 또는 Certified Asterisk 20.7-cert11, 22.8-cert3 이상으로 업그레이드하고, 불필요한 경우 HTTP/ARI를 비활성화하거나 접근을 제한
🔧 검증 코드
출력된 버전이 취약 범위(20.20.1, 21.12.3, 22.10.1, 23.4.1 또는 Certified 버전 미만)보다 낮으면 취약하며, 같거나 높으면 패치가 적용된 것입니다.