danmu_apiに認証回避の脆弱性、1.21.7で修正
danmu_apiの1.21.7より前の版に、認証なしでサーバーの設定を書き換えられる脆弱性が見つかりました。自分でdanmu_apiを動かしている組織や個人は、版を確認して1.21.7へ更新し、設定が書き換えられていないかも調べてください。
急ぎ度: 早めに
CVSS v3は9.8、v4は9.3で認証なしに遠隔から悪用でき、修正版1.21.7が出ていますが、実際の攻撃での悪用が確認されたとする情報は見当たりません。
関係があるか
danmu_apiを自前のサーバーやクラウドで運用している組織と個人が対象です。インターネットから管理用のAPIに届く構成ほど、影響を受けやすくなります。
| 製品 | 影響を受ける版 | 直った版 |
|---|---|---|
| danmu_api(huangxd-) | 1.21.7より前のすべての版 | 1.21.7 |
確かめ方
- 1稼働中のdanmu_apiの版を確認し、1.21.7より前でないかを見る。
- 2環境変数のADMIN_TOKENが設定済みか、TOKENが初期値のままになっていないかを見る。
- 3danmu_apiがインターネットや社外のネットワークから到達できる場所にあるかを、公開設定やリバースプロキシの設定で確認する。
- 4アクセスログに、/api/env/で始まるパスへの見覚えのないPOSTがないかを調べる。
何が起きたか
danmu_apiの1.21.7より前の版では、本来は運用者だけが使う設定変更の機能を、認証なしで操作されるおそれがあります。サーバーの設定を第三者に握られ、運用者が締め出される事態にもなりえます。
問題があるのは、環境設定を書き換える/api/env/set、/api/env/add、/api/env/delの3つのエンドポイントです。認証の欠如(CWE-306)に分類され、公表日は2026年10月26日です。
書き換えられる設定には、管理用のADMIN_TOKENのほか、通信の転送先を決めるOTHER_SERVERとPROXY_URLが含まれます。転送先を差し替えられると、サーバーが攻撃者の指定した宛先へ通信するSSRFにつながります。設定変更をきっかけに、再デプロイが走ることもあります。
攻撃の流れ
-
1
到達
ネットワークから、danmu_apiの環境設定用エンドポイントに届く。
-
2
設定の書き換え
認証を通らないまま、環境変数の値を追加・変更・削除する。
-
3
運用者の締め出し
ADMIN_TOKENを相手の値に設定され、正規の運用者が管理操作をできなくなる。
-
4
転送先の差し替え
OTHER_SERVERやPROXY_URLを書き換え、サーバーの通信先を操作する。
-
5
再デプロイ
設定変更が反映され、サーバーが改ざん後の設定で立ち上がり直す。
どう悪用されるか
悪用に必要なのは、ネットワーク越しに対象のサーバーへ届くことだけです。ログインも、利用者の操作も要りません。さらに、既定のTOKENを使い続けていて、ADMIN_TOKENが未設定の場合に限って成立します。
成功すると、サーバーの設定そのものを書き換えられます。運用者が管理できなくなるほか、サーバーが内部や外部の別の宛先へ通信させられる経路が開きます。CVSSの機密性・完全性・可用性がいずれも高と評価されているのは、そのためです。
今すぐやること
-
1
1.21.7へ更新する
danmu_apiを修正版の1.21.7に更新します。複数の環境で動かしている場合は、外部から届く環境を先にします。
-
2
トークンを設定し直す
ADMIN_TOKENに推測されにくい長い値を設定し、既定のTOKENも別の値に変えます。更新の前後どちらでも、まず済ませておく価値があります。
-
3
設定が書き換えられていないか調べる
ADMIN_TOKEN、OTHER_SERVER、PROXY_URLが自分で設定した値のままかを見ます。あわせて、/api/env/で始まるパスへのPOSTがログにないか、意図しない再デプロイの履歴がないかも確認します。
-
4
不審な変更があれば作り直す
身に覚えのない変更が見つかったら、トークンをすべて新しい値にし、設定を正しい内容に戻してから再デプロイします。そのサーバーが使っていた他のサービスの認証情報も見直します。
すぐ更新できないとき
すぐに更新できないときは、ADMIN_TOKENを設定し、既定のTOKENを別の値に変えます。あわせて、リバースプロキシやファイアウォールで/api/env/以下へのアクセスを運用者の接続元だけに絞ります。いずれも更新までのつなぎで、修正版への更新が済むまで外部からの到達は最小限にしておきます。
背景
danmu_apiは、環境変数で設定を持ち、その設定をAPI越しに書き換えられる作りです。転送先やプロキシなど通信の行き先を決める値も同じ仕組みで管理されるため、設定変更の入り口が無防備だと、アプリ本体の不具合を突かなくても、サーバーの振る舞いそのものを握られます。今回の脆弱性が、まさにこの入り口に認証が掛かっていなかった事例です。
初期値のトークンが残っている状態は、認証の欠如と同じ結果を招きます。公開されているソースコードを読めば既定値は誰でも分かるため、運用者が値を変えたかどうかが、そのまま安全性の分かれ目になります。
よくある質問
Q.1.21.7に更新すれば、すでに書き換えられた設定も元に戻りますか。
Q.社内ネットワークだけで動かしている場合も対応が必要ですか。
まだ分かっていないこと
- 実際の攻撃で悪用された事例があるかどうかは、公表されていません。ベンダーの告知やVulnCheckのアドバイザリで最新の状況を確認してください。
- 再デプロイがどのホスティング環境でどう起きるのか、環境ごとの違いは分かっていません。
- 修正版1.21.7での具体的な変更内容は、公開されている修正コミットとリポジトリのIssueで確認する必要があります。
この記事は、取得元の公開情報をもとに生成 AI で作成しています。誤りを含むことがあります。対応を決める前に、下の原文と参照先を確認してください。
影響パッケージ
| 種類 | パッケージ | 影響を受ける版 | 直った版 |
|---|---|---|---|
| huangxd- | danmu_api |
1.21.7 未満 |
1.21.7 |
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。
danmu_api before 1.21.7 contains an authentication bypass vulnerability that allows unauthenticated attackers to modify server environment configuration when the default TOKEN is used and ADMIN_TOKEN is unset. Attackers can send POST requests to /api/env/set, /api/env/add, or /api/env/del to set ADMIN_TOKEN, lock out operators, redirect OTHER_SERVER or PROXY_URL for SSRF, and trigger redeployment.
出典: CVE.org (CVE Program・cvelistV5) NVD GitHub Advisory