DStarGatewayに遠隔停止の脆弱性、修正版あり
アマチュア無線のD-STARゲートウェイ「DStarGateway」に、ネットワーク経由で停止を招く脆弱性が公表されました。運用している局やクラブは、修正を含む7b75de6以降へ更新してください。
急ぎ度: 早めに
CVSS v4は9.2で重大に分類され、認証なしにネットワークから到達できる条件ですが、影響は可用性に限られ、修正版も公開されています。
関係があるか
G4KLX版またはF4FXL版のDStarGatewayを運用しているアマチュア無線局、クラブ局、リピーターやホットスポットの管理者が対象です。一般的な企業の情報システムで使われる製品ではなく、該当するのは無線設備として動かしている場合に限られます。
| 製品 | 影響を受ける版 | 修正版 |
|---|---|---|
| DStarGateway(G4KLX版・F4FXL版) | コミットbd3b8650c41d3537c2af1d2d32dcb5b9f2a1a754以降で、7b75de605dca542a2953dd74c16f0eac96a8944eより前 | 7b75de605dca542a2953dd74c16f0eac96a8944e(7b75de6)以降 |
確かめ方
- 1ソースから取得して自分でビルドしている場合は、作業ディレクトリで現在のコミットを調べ、7b75de6を含んでいるかを確認します。
- 2パッケージやイメージに同梱された形で使っている場合は、提供元の告知で、7b75de6相当の修正が取り込まれた版かどうかを確認します。
- 3ゲートウェイがインターネットや外部のネットワークから到達できる状態かも、あわせて確認します。
何が起きたか
DStarGatewayに、特定の欄が空のデータを受け取るとゲートウェイが正常に動けなくなる脆弱性が見つかりました。悪用されると、サービスが停止するなど可用性に深刻な影響が出ます。
APRSUtils.cppのdstarCallsignToAPRSという処理が、RS-MS1Aの送信者欄が空の場合を想定しておらず、長さの計算で整数のアンダーフロー(CWE-191)が起きます。本来は0以下になるはずの値が、極端に大きな数へ折り返ってしまう問題です。
修正は7b75de6で入りました。公表は2026年11月5日です。
攻撃の流れ
-
1
到達できる状態
攻撃者がDStarGatewayの受信口にネットワーク経由で届く位置にいます。
-
2
不正なデータ送信
RS-MS1Aの送信者欄を空にしたデータをゲートウェイへ送ります。
-
3
計算が破綻
コールサインをAPRS向けに変換する処理で、整数のアンダーフローが起きます。
-
4
サービス停止
ゲートウェイの動作に支障が出て、接続先の通信にも影響します。
どう悪用されるか
認証は不要で、利用者の操作も要りません。ネットワーク経由でゲートウェイに届く位置にいれば、複雑な条件なしに試せると評価されています。
被害として想定されているのは可用性の低下です。情報の漏えいや改ざんは、評価の上では影響なしとされています。一方で、ゲートウェイの先につながる系の可用性にも影響が及ぶと評価されており、ゲートウェイが止まれば、それを経由する運用全体が滞ります。
今すぐやること
-
1
現在の版を確認する
運用中のDStarGatewayが、コミットbd3b865以降で7b75de6より前の範囲に入っていないかを調べます。次のコマンドは、7b75de6を含んでいれば「修正済み」と表示します。
git merge-base --is-ancestor 7b75de605dca542a2953dd74c16f0eac96a8944e HEAD && echo 修正済み -
2
修正版に更新する
7b75de6以降のソースを取得して再ビルドし、サービスを入れ替えます。リリース番号との対応は、G4KLX版・F4FXL版それぞれのリポジトリの告知で確認してください。
-
3
ゲートウェイの公開範囲を見直す
受信口が不特定のネットワークに開いていないかを確認します。必要な接続元だけに絞れていれば、更新までの時間的な余裕が増えます。
-
4
更新後の動作を確かめる
再起動後にサービスが安定して動いていること、ログに異常な停止や再起動の繰り返しがないことを確認します。
すぐ更新できないとき
すぐに更新できない場合は、ファイアウォールなどでゲートウェイへの接続元を、運用上必要な相手だけに制限します。これは到達できる範囲を狭めるつなぎの策で、脆弱性そのものはなくなりません。
背景
DStarGatewayは、アマチュア無線のデジタル音声方式D-STARで、リピーターやホットスポットをネットワークにつなぐためのゲートウェイソフトウェアです。D-STARのコールサインなどをAPRS(アマチュア無線の位置情報などを扱う仕組み)向けの形式に変換する処理も持っており、今回の脆弱性はその変換の途中で起きます。
整数のアンダーフローは、無符号の値から引き算をして0を下回ったときに、大きな値へ折り返ってしまう種類の不具合です。今回の場合、空の欄という入力の端のケースを処理が想定していなかったことが原因です。ゲートウェイが止まると、つないでいる中継局やホットスポットの通信が一括して途切れるため、少人数で運用している局ほど復旧の手間が目立ちます。
よくある質問
Q.リリース番号ではなくコミットの番号しか示されていませんが、どう判断すればよいですか。
まだ分かっていないこと
- 脆弱性の説明には、整数のアンダーフローが起きるとだけ記されており、サービス停止以外にどのような挙動になるかは書かれていません。
この記事は、取得元の公開情報をもとに、人が監修しながらAIを活用して執筆しています。執筆と監修は佐々木 航が担い、公開したあとも人が内容を確認しています。誤りに気づいたときは直し、記事の末尾に訂正の行を残します。対応を決める前に、下の原文と参照先も確認してください。
影響パッケージ
| 種類 | パッケージ | 影響を受ける版 | 修正版 |
|---|---|---|---|
| G4KLX | DStarGateway |
bd3b8650c41d3537c2af1d2d32dcb5b9f2a1a754 以上 7b75de605dca542a2953dd74c16f0eac96a8944e 未満 |
7b75de605dca542a2953dd74c16f0eac96a8944e |
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。
In G4KLX DStarGateway and F4FXL DStarGateway before 7b75de6, dstarCallsignToAPRS in APRSUtils.cpp has an integer underflow via an empty RS-MS1A sender field.
出典: CVE.org (CVE Program・cvelistV5) NVD GitHub Advisory
参照URL
- web github.com
- web github.com
- web github.com
- web nvd.nist.gov
- web github.com