INDOTALENT WHMS、管理者権限奪取の脆弱性2件、修正版あり
INDOTALENT WHMSに、ソースに書かれた署名鍵と既定の管理者アカウントが原因で、認証なしに管理者権限を得られる脆弱性が2件あり、導入企業が対象です。修正版10.20261109へ更新し、鍵と管理者パスワードを環境ごとの値に替えてください。
同じ発表の脆弱性 2 件
この記事でまとめた分です。発表元の告知には、ほかの脆弱性も載っていることがあります。
- CVE-2026-125383 重大 9.8
- CVE-2026-125384 重大 9.8
急ぎ度: 至急
認証なしでネットワーク越しに悪用でき、CVSS v3は2件とも9.8で、修正版10.20261109も出ているため、該当する環境は至急更新する段階です。
関係があるか
INDOTALENT WHMS(GitHubでの名前はAsp.Net-Core-Inventory-Order-Management-System)を自社のサーバーやクラウドで動かしている組織が対象です。インターネットや社外のネットワークから届く場所に置いている環境は、とくに優先度が高くなります。
| 製品 | 影響を受ける版 | 修正版 |
|---|---|---|
| INDOTALENT WHMS(Asp.Net-Core-Inventory-Order-Management-System) | 10.20261109より前のすべての版 | 10.20261109 |
確かめ方
- 1導入しているリポジトリやリリースのタグを見て、版が10.20261109より前かどうかを確認します。
- 2appsettings.jsonでIsDemoVersionがtrueのままになっていないか、Jwt:Keyを環境ごとの独自の値に変えているかを見ます。
- 3管理者アカウントのadmin@root.comが残っている場合は、初期パスワードのまま運用していないかを担当者に確認します。
- 4デモ用や検証用に立てたインスタンスも、ネットワークから到達できるなら同じ確認をします。
何が起きたか
INDOTALENT WHMSに、認証を経ずにAPI全体の管理者権限を得られる脆弱性が2件見つかりました。10.20261109より前の版が対象で、修正版は10.20261109です。ソースが公開されているため、該当する環境は早い段階で試されてもおかしくないとみられます。
- CVE-2026-125383: appsettings.jsonにJWTの署名鍵・issuer・audienceが固定で書かれており、トークンの検証側がそれを信頼するため、任意のユーザーIDとロールのトークンを偽造できます(CVSS v3は9.8、v4は9.3)。CWE-321に分類されています。
- CVE-2026-125384: UserAdminSeederが、既定のメールアドレスadmin@root.comと固定のパスワードで管理者アカウントを作ります。このアカウントはすべての管理者ロールを持ち、パスワードの変更も強制されません(CVSS v3は9.8、v4は9.3)。CWE-1392に分類されています。
2件は入口が違いますが、行き着く先はどちらも管理者としてAPIを操作できる状態です。
攻撃の流れ
-
1
既定値の入手
ソースや既定の設定に書かれた署名鍵と、既定の管理者アカウントの情報が前提になります。
-
2
管理者になりすます
偽造したトークン、または既定のアカウントへのログインで、管理者として認証されます。
-
3
APIを操作する
管理者権限でAPI全体にアクセスできます。
-
4
データの閲覧・改ざん
在庫・受発注などの業務データの読み出しや書き換え、アカウントの追加が可能になります。
どう悪用されるか
どちらも認証は不要で、ネットワーク越しに実行でき、利用者の操作も要りません。CVSS v3のベクターでは、攻撃の難しさは低いと評価されています。
CVE-2026-125383は、版が該当すれば対象になります。署名鍵が固定値として書かれているためです。CVE-2026-125384は、既定のアカウントとパスワードをそのまま使い続けている環境が狙われます。
悪用されると、攻撃者は管理者としてAPIの全機能を使えます。業務データの閲覧と改ざん、アカウントの追加や削除、設定の変更まで及ぶ可能性があります。
今すぐやること
-
1
導入している版を確認する
Gitで取得して運用している場合は、タグから版を見られます。Dockerやパッケージ化したものは、ビルド元のタグを確認します。10.20261109より前なら対象です。
git describe --tags -
2
修正版10.20261109へ更新する
インターネットから届く環境を最優先にし、社内限定の環境もそのあとに続けて更新します。
-
3
本番用の設定を入れ直す
更新後に、IsDemoVersionをfalseにし、Jwt__Keyに32バイト以上の環境固有の値、管理者パスワードに12文字以上の環境固有の値を設定します。デモモードは、文書化された鍵と既定の管理者アカウントで起動する設計です。修正版では、公開されていた既定のパスワードは受け付けられず、そのパスワードのまま残る環境は起動時に新しい値へ替わります。鍵を替えると、旧鍵で作られたトークンは通らなくなります。
-
4
侵害の跡を調べる
管理者としての操作ログ、身に覚えのないユーザーの追加、データの書き換えがないかを見ます。外部に公開していた期間があれば、その間のアクセスログを優先して確認します。
-
5
ベンダーの告知で最新の状況を確かめる
修正版のリリースノートと、GitHubのIssue #48を見て、追加の修正や注意事項が出ていないかを確認します。
すぐ更新できないとき
すぐに更新できない間は、インターネットや不特定のネットワークから届かないよう、VPNやIP制限で接続元を絞ります。あわせて、Jwt__Keyを環境変数で環境固有の値に替え、admin@root.comのパスワードを推測されにくいものに変えます。これらは更新までのつなぎであり、修正版の代わりにはなりません。
背景
INDOTALENT WHMSは、ASP.NET Coreで作られたオープンソースの在庫・受発注管理システムです。社内では商品、仕入れ、販売の記録を扱うため、管理者権限を奪われると業務データそのものに触れられてしまいます。APIがトークンで認可を行う構成なので、署名鍵が知られると、ログインの仕組みを通さずに任意の利用者になりすませます。
今回の2件は、いずれも「試すためにすぐ動く」設定が本番にも残りやすいという性質に関係します。リポジトリの設定ファイルは、公開デモやclone後の動作確認向けにIsDemoVersionがtrueの状態が既定で、デモ用の鍵と既定の管理者アカウントで起動します。修正版では、本番運用でIsDemoVersionをfalseにして、鍵と管理者パスワードの両方を設定する前提が明記されました。サンプルをそのまま本番に持ち込んだ環境ほど、影響を受けやすいと考えられます。
よくある質問
Q.検証用やデモ用に立てたインスタンスも更新が必要ですか。
この記事は、取得元の公開情報をもとに、人が監修しながらAIを活用して執筆しています。執筆と監修は佐々木 航が担い、公開したあとも人が内容を確認しています。誤りに気づいたときは直し、記事の末尾に訂正の行を残します。対応を決める前に、下の原文と参照先も確認してください。
影響パッケージ
| パッケージ | 影響を受ける版 → 修正版 | |
|---|---|---|
| go2ismailAsp.Net-Core-Inventory-Order-Management-System |
10.20261109 未満→ 10.20261109 |
10.20261109 |
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。
INDOTALENT WHMS (Asp.Net-Core-Inventory-Order-Management-System) before 10.20261109 contains an authentication bypass vulnerability caused by a hard-coded JWT signing key, issuer and audience in appsettings.json. Unauthenticated remote attackers can forge tokens for any user ID and role that the Tokens/DI.cs validator trusts, gaining administrator access to the entire API.
出典: CVE.org (CVE Program・cvelistV5) NVD GitHub Advisory
参照URL
- advisory github.com
- advisory vulncheck.com
- advisory nvd.nist.gov
- advisory github.com
- package github.com
- patch github.com
- patch github.com
- report github.com
- web github.com
- web github.com