FreeSWITCHにSIPでコマンド実行の欠陥、悪用を確認

電話交換を
脆弱性の概要
- 対象
- 電話交換ソフト
- 悪用
- あり(確認済み)
- 影響
- SIP で OS のコマンドを実行される
- 修正版
- 修正版あり
- 公表元
- SignalWire / CISA
| 製品 | 対象のバージョン | 修正版 |
|---|---|---|
| FreeSWITCH | 1.11.2 以前 | 1.11.3 以降 |
やること
米国の CISA は11月9日(米国時間)、FreeSWITCH の欠陥 CVE-2026-116779 を、悪用が確認された脆弱性の一覧(KEV)に加えました。FreeSWITCH は電話の交換機をソフトウェアで置き換えて動かすためのオープンソースのソフトです。SIP(IP 電話で通話や伝言をやり取りする手順)の MESSAGE を送るだけで、FreeSWITCH の権限で OS のコマンドを実行されるおそれがあります。
自社で FreeSWITCH を動かしている場合と、電話の仕組みを納めた業者が FreeSWITCH を使っている場合は、次の順に対応してください。
- 1.11.3 以降に更新してください。1.11.3 は8月28日に公開されています。開発元の SignalWire は10月28日に、この欠陥のアドバイザリ(GHSA-mg63-h38w-8p9p)を公開しました
- すぐに更新できない場合は、SIP のチャットを使わないプロファイル(SIP の受け口ごとの設定)に
enable-chat=falseを設定してください。この設定で、そのプロファイルに届く MESSAGE のチャットはすべて受け取らなくなります - 見本の設定に含まれる、パスワードを持たない利用者を消してください
1.11.3 では Debian 11 が動作の対象から外れました。Debian 11 で動かしている場合は、OS の更新もあわせて計画してください。
何が危ないのか
FreeSWITCH の SIP の部品(mod_sofia)は届いた MESSAGE の宛先の名前を + で区切り、左側をチャットの種類の名前として扱います。標準の部品 mod_dptools は api という種類を登録していて、この種類に渡った中身は FreeSWITCH の API コマンドとして実行されます。API コマンドは、管理者が通話や設定を操作するための命令です。
この結果、MESSAGE を届けられる相手は、実行させるコマンドを自由に選べます。開発元は次の影響を挙げています。
- FreeSWITCH の動く権限で、OS の任意のコマンドを実行される
- 設定と認証情報を読み取られる
- 通話を自由に操作される
標準の設定で読み込まれる mod_lua があると、Lua のプログラムを直接動かす2つ目の経路もできます。CVSS は 9.8 です。
攻撃に必要な条件
チャットの受け取りはプロファイルで enable-chat=false にしない限り有効です。見本の設定(conf/vanilla)では、社内向けと社外向けの両方のプロファイルで有効のままです。FreeSWITCH の受け付けの制限(inbound ACL)は MESSAGE には効かないので、ACL を絞っても防げないと開発元は説明しています。
MESSAGE に認証を求める設定なら、内線、電話機、回線の接続先など、そのプロファイルのアカウントが1つあれば足ります。MESSAGE の認証は 1.10.7 から既定で有効です。ただし見本の conf/vanilla/directory/default/default.xml が残っていると、アカウントも要りません。このファイルはパスワードのない利用者 default を定義していて、allow-empty-password を false にしない限り認証が通ります。
悪用の状況
開発元のアドバイザリと CVE の記録は、実際の悪用が観測されたと書いています。CISA は KEV に載せて、米国の政府機関に11月12日までの対応を求めました。あわせて、侵害の痕跡の調べも求める対象にしています。被害の件数や攻撃した相手は公表されていません。ランサムウェアに使われたかどうかは、KEV では「不明」です。
修正版で変わること
1.11.3 ではプロファイルごとに enable-chat-api-proto という設定が加わりました。既定はオフで、明示して有効にしない限り api の種類は使えません。止めた要求には 403 を返し、送り元と実行しようとしたコマンドを記録に残します。種類の指定がない MESSAGE や、ほかの種類のチャットは今までどおり届きます。ブラウザーから通話する部品 mod_verto にも、同じ設定が加わりました。
更新できない間の対策のうち、enable-chat=false はこの経路を止めます。パスワードのない利用者を消しても、アカウントを持つ相手からの実行は残ります。disable_system_api_commands=true も system の API を外すだけで、ほかの API は使えるままだと開発元は説明しています。
中小企業が確かめること
FreeSWITCH を自社で入れた覚えがなくても、業者が納めた電話の仕組みの中で動いていることがあります。KEV も、この欠陥は部品としてほかの製品に使われうると注記しています。保守を任せている業者には FreeSWITCH を使っているか、使っているなら版はいくつか、SIP の受け口がインターネットから届くかを聞いてください。聞き方はシステムの委託先に聞くべき5つのことも参考になります。
更新の前にインターネットから SIP の受け口に届いていた場合は、設定と認証情報を読まれた前提で考えてください。SIP のアカウントと回線の接続に使うパスワードを変え、見覚えのない発信や設定の変更がないかを通話の記録で確かめてください。
自社で確かめること
- FreeSWITCH の版自社の電話の仕組みに FreeSWITCH が入っているかと、その版が 1.11.3 以降かを確かめてください。業者に任せている場合は業者に聞いてください。
- チャットの設定SIP のチャットを使っていないプロファイルに enable-chat=false が入っているかを見てください。
- パスワードのない利用者見本の設定にある default のような、パスワードを持たない利用者が残っていないかを調べてください。
アカウントを作ると
使っている製品の登録、いいね、コメントができます。登録は無料で、メールアドレスだけで作れます。



コメント 0
まだコメントはありません。