🇰🇷 한글 설명
Asterisk의 PostgreSQL 및 TDS/MSSQL Channel Event Log 백엔드(cel_pgsql, cel_tds)에서, CELGenUserEvent 다이얼플랜 애플리케이션에 검증되지 않은 데이터가 CEL eventtype 열로 전달될 경우 임의의 SQL이 실행될 수 있는 취약점입니다. 해당 백엔드가 로드·설정되어 있고 관리자가 입력값을 검증하지 않고 CELGenUserEvent를 호출한 경우에만 영향을 받습니다. Asterisk 20.20.1, 21.12.3, 22.10.1, 23.4.1 및 Certified Asterisk 20.7-cert11, 22.8-cert3에서 수정되었습니다.
💡 쉬운 설명
Asterisk 전화 시스템의 통화 기록을 데이터베이스에 저장하는 기능에서, 잘못된 입력값이 데이터베이스 명령으로 해석될 수 있는 문제입니다. 이 기능을 사용하면서 입력값을 검증하지 않은 경우에만 공격자가 데이터베이스를 조작할 수 있습니다.
🇺🇸 원문 (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, the `PostgreSQL` and `TDS/MSSQL` Channel Event Log backends `cel_pgsql` and `cel_tds` may permit arbitrary SQL execution when untrusted data is set in the CEL `eventtype` column by the `CELGenUserEvent` dialplan application. The `cel_pgsql` or `cel_tds` backend must be loaded and configured, and the administrator must call `CELGenUserEvent` in the dialplan without ensuring that only valid data is passed to the application. 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 미만 (cel_pgsql 또는 cel_tds 사용 시)
⚔️ 공격 벡터
다이얼플랜에서 CELGenUserEvent로 전달되는 값에 공격자가 조작한 입력을 넣어 eventtype 열을 통해 SQL 구문을 주입
🛡️ 대응 방법
Asterisk를 20.20.1, 21.12.3, 22.10.1, 23.4.1 또는 Certified Asterisk 20.7-cert11, 22.8-cert3 이상으로 업데이트하고, 가능하면 cel_pgsql/cel_tds를 비활성화하거나 CELGenUserEvent 입력값을 검증
🔧 검증 코드
버전이 수정 버전 이상이면 안전하며, cel_pgsql 또는 cel_tds 모듈이 Running 상태로 표시되지 않으면 이 취약점의 영향을 받지 않습니다.
asterisk -V 2>/dev/null; asterisk -rx 'module show like cel_' 2>/dev/null