Cudy TR3000に脆弱性3件、修正版2.5.42が公開
Cudy TR3000のファームウェア2.5.42より前に、root権限でコマンドを実行されかねない脆弱性が3件見つかりました。TR3000を運用している組織は、修正版の2.5.42へ更新してください。
同じ発表の脆弱性 3 件
この記事でまとめた分です。発表元の告知には、ほかの脆弱性も載っていることがあります。
- CVE-2026-126953 高 9.2
- CVE-2026-75495 高 9.2
- CVE-2026-75491 高 9.2
急ぎ度: 早めに
3件ともCVSS v3は8.1、v4は9.2で、修正版2.5.42が公開されているため、更新を早めに計画してください。
関係があるか
Cudy TR3000 1.0を拠点やテレワーク環境で使っていて、ファームウェアが2.5.42より前の組織が対象です。リモート管理サーバー(ACS)につながる機器や、MQTT用の8883番ポートに到達できる環境は、とくに確認が要ります。
| 製品 | 影響を受ける版 | 修正版 |
|---|---|---|
| Cudy TR3000 1.0(ファームウェア) | 2.5.42より前のすべての版 | 2.5.42 |
確かめ方
- 1TR3000の管理画面でファームウェアの版を開き、2.5.42より前でないかを見ます。
- 2リモート管理(ACS)の接続先が設定されているか、設定されていれば自社または契約事業者のものかを確認します。
- 38883番ポートへ、社外や信頼できないネットワークから届く構成になっていないかを、ファイアウォールの設定で確認します。
何が起きたか
Cudy TR3000のファームウェアに、リモート管理の設定値や機器との通信の認証を正しく検査しない脆弱性が3件あります。悪用に成功すると、機器のroot権限で任意のコマンドを実行されます。3件は修正版で対処されています。
- CVE-2026-126953: ACSが設定するユーザー名の値が検証されず、root権限でコマンドを実行される(CVSS v3は8.1、v4は9.2)
- CVE-2026-75495: ACSが設定するパスワードの値が検証されず、root権限でコマンドを実行される(CVSS v3は8.1、v4は9.2)
- CVE-2026-75491: MQTT接続の認証を回避され、root権限でコマンドを実行される(CVSS v3は8.1、v4は9.2)
前の2件は、TR-098のユーザー名とパスワードの値が、検査されないままシェルのコマンドに組み込まれる不備です。ユーザー名は obuspa_system.lua の set_UserUsername() から os.execute() に、パスワードは同じファイルで luci.util.exec() のコマンド文字列に渡ります。分類はどちらもCWE-78(OSコマンドインジェクション)です。
3件目はMosquittoのプラグイン auth_plugin_jwt.so の不備で、署名のないJWTを正規のものとして受け入れてしまいます。分類はCWE-347(暗号による署名の不適切な検証)です。
攻撃の流れ
-
1
前提を満たす
ACSを悪意ある側が握るか、Cudyが信頼するクライアント証明書を手に入れます。
-
2
機器へ接続
ACSからの設定要求、またはMQTT用の8883番ポートへの接続で機器にアクセスします。
-
3
検証をすり抜ける
設定値が検査されないままコマンドに渡るか、署名のないトークンが認証を通ります。
-
4
rootで実行
機器のroot権限で任意のコマンドが動き、機器の制御を奪われます。
どう悪用されるか
CVE-2026-126953とCVE-2026-75495は、悪意のあるACS、または侵害されたACSが、機器へユーザー名やパスワードの設定値を送ることで成立します。CVE-2026-126953のCVSSの評価では、ネットワーク経由で攻撃でき、利用者の操作と事前の権限は不要です。一方で攻撃の難易度は高いとされています。CVE-2026-75495にも、同じACS側の条件が書かれています。
CVE-2026-75491は条件が違います。Cudyが信頼するクライアント証明書を持つ攻撃者が、8883番ポートで管理者相当のデバイスとして認証され、コマンドの実行要求を送れます。証明書はどれか1枚あれば足りる、という書き方です。
成立した場合の被害は3件とも同じで、機器のroot権限でコマンドを実行されます。TR3000の設定を書き換えられ、機器の内側にあるネットワークへの足がかりにされるおそれがあります。
今すぐやること
-
1
ファームウェアの版を確認する
管理画面でTR3000の版を見て、2.5.42より前の機器を洗い出します。拠点に置いた機器やテレワーク用に配った機器も、台帳と突き合わせます。
-
2
修正版の2.5.42へ更新する
Cudyのダウンロードセンターで、TR3000 1.0向けの2.5.42が案内されています。更新の前に設定をバックアップし、機器の型番がTR3000 1.0であることを確かめてから適用します。ほかの型番や版への影響は、Cudyの告知で確認してください。
-
3
ACSの接続先を点検する
ACSの接続先が自社または契約事業者のものか、見覚えのない接続先が設定されていないかを確認します。ユーザー名とパスワードの設定に、想定外の値がないかも見ておきます。
-
4
8883番ポートの到達範囲を絞る
MQTT用の8883番ポートに、社外や信頼できないネットワークから届かないか、ファイアウォールのルールで確認します。更新後も、必要のない到達経路は閉じたままにします。
すぐ更新できないとき
更新がすぐにはできない機器には、つなぎとして次の対応が考えられます。ACSによるリモート管理を使っていなければ、設定で無効にできるかを確認します。使っている場合は、接続先を信頼できるACSだけにします。あわせて、境界のファイアウォールで8883番ポートへの外部からの到達を止めます。いずれも更新の代わりにはならないため、早めに2.5.42へ上げてください。
背景
Cudy TR3000は、拠点やテレワーク環境のネットワークの出入り口に置かれるWi-Fiルーターです。ACS(リモート管理サーバー)は、多数の機器へ設定を一括で配るために使われます。TR-098は、そのときの設定項目を決めた規格のデータモデルです。ACSから送られた値を機器がそのまま信用すると、ACS側の侵害が配下の機器すべてに及びます。今回の2件は、その値の検査の抜けです。
MQTTの認証に使うJWTでは、署名アルゴリズムにnoneを指定したトークンを受け入れてしまう実装の不備が、古くから知られています。CVE-2026-75491はこの種類にあたります。機器の管理者として認証されると、そのまま batchcmd の要求でrootのコマンドを動かせる点が、重く評価されている理由です。
よくある質問
Q.ACSを自分で設定した覚えがなくても、影響を受けますか。
Q.CVSS v3とv4で値が違うのは、なぜですか。
まだ分かっていないこと
- 実際の攻撃での悪用や、攻撃コードの公開があるかどうかは、告知に記載がありません。
- Cudyの公式な回避策は、VulnCheckの告知に書かれていません。
- ACSが未設定の機器で、ユーザー名とパスワードの2件が成立するかどうかは、書かれていません。
この記事は、取得元の公開情報をもとに、人が監修しながらAIを活用して執筆しています。執筆と監修は佐々木 航が担い、公開したあとも人が内容を確認しています。誤りに気づいたときは直し、記事の末尾に訂正の行を残します。対応を決める前に、下の原文と参照先も確認してください。
影響パッケージ
| パッケージ | 影響を受ける版 → 修正版 | |
|---|---|---|
| Shenzhen Cudy Technology Co., Ltd.TR3000 1.0 |
2.5.42 未満→ 2.5.42 |
2.5.42 |
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。
Cudy TR3000 before 2.5.42 contains an OS command injection vulnerability that allows a malicious or compromised ACS to execute commands as root by supplying an unvalidated InternetGatewayDevice.User.{i}.Username value. Attackers can send a SetParameterValues request with shell metacharacters that set_UserUsername() in obuspa_system.lua passes to os.execute(), gaining root command execution.
出典: CVE.org (CVE Program・cvelistV5) NVD