---
title: "運用管理ツール Jpom 2.10.0〜2.11.12 で、JPOM-USER-TOKEN ヘッダーの条件式で認証なしに管理者になれる不具合（CVE-2026-120201）: 修正版は未確認"
url: https://n-t-p.io/worldsecurity/articles/jpom-user-token-header-condition-injection-auth-bypass-2026-120201
lang: ja
kind: 速報
category: 脆弱性・CVE
author: World Security 編集部
published: 2026年10月31日
updated: 2026年10月31日
severity: 緊急
cve: CVE-2026-120201
---

# 運用管理ツール Jpom 2.10.0〜2.11.12 で、JPOM-USER-TOKEN ヘッダーの条件式で認証なしに管理者になれる不具合（CVE-2026-120201）: 修正版は未確認

> **TL;DR:** 運用管理ツール Jpom の 2.10.0〜2.11.12 は、JPOM-USER-TOKEN ヘッダーの値を検索の条件式として評価するため、認証なしで「is not null」を送るとスーパー管理者のセッションを得られ、スクリプト機能でコマンドを実行できる（CVE-2026-120201、CVSS v3.1 9.8・v4.0 9.3、CNA の値。報告の説明で、当サイトでは未再現）。修正版・修正コミットは確認できていない（最新は 2.11.12）。NVD の評価は未実施、EPSS は公開直後のため未算出、KEV なし。

**要点**
- Jpom 2.10.0〜2.11.12 で、JPOM-USER-TOKEN ヘッダーの値が Hutool の条件式として評価され、「is not null」で最初の有効ユーザー（新規導入ではスーパー管理者）のセッションを認証なしで得られる（報告の説明、当サイトでは未再現）
- 報告は、管理者セッションからスクリプトを保存・実行でき、公式イメージは root で動くため、サーバー上でコマンドを実行できるとしている
- 修正版・修正コミットは確認できていない。最新リリースは 2.11.12（2025-05-06）、master の最終コミットは 2026-02-06。Issue #121 は開いたまま
- CVSS は CNA（VulnCheck）の値で v3.1 9.8・v4.0 9.3。NVD の評価は未実施（Deferred）、EPSS は公開直後のため未算出、KEV なし、悪用の報告なし
- 修正版が出るまでは、サーバーを外部に公開しない・ヘッダーを遮断するなどの緩和を検討する（本記事の推定）

運用管理ツール Jpom の 2.10.0 から 2.11.12 までで、認証なしの攻撃者が `JPOM-USER-TOKEN` ヘッダーに条件式を入れるだけで、スーパー管理者のセッションを得られる不具合（CVE-2026-120201）が 10/31 に NVD へ公開されました。NVD の説明（脆弱性を届けた VulnCheck の記載）では、そこからスクリプト機能を通じてコマンドを実行できます。CVSS は v3.1 が 9.8、v4.0 が 9.3 で、いずれも Critical です。**公開時点で、修正版のリリースも修正コミットも確認できていません。** 最新のリリースは 2.11.12（2025-05-06）のままです。

## 何が起きるか

- Jpom は、API 用の認証ヘッダー `JPOM-USER-TOKEN` を受け取ると、その値を `UserService.checkUser()` に渡します。この関数は値をパスワードの項目に入れ、Hutool の `queryByBean()` で検索します。
- Hutool はその値を検索の条件式として解釈します。報告（GitHub の Issue #121）によると、`is not null` を送ると `WHERE password IS NOT NULL` として評価され、最初に見つかった有効なユーザー（新規導入の環境ではスーパー管理者）が返り、セッションに入ります。認証情報は要りません。
- 報告は、その管理者セッションからサーバー側のスクリプトを保存・実行でき、公式イメージでは Jpom のプロセスは root で動くため、サーバー上で任意のコマンドが動かせるとしています。ノード機能を通じて管理下のホストにも及ぶ可能性がある、とも述べています。
- 当サイトでは再現していません。ただし、コードの該当部分は v2.11.12 と master（最終コミット 2026-02-06）の両方で、報告が引用する形（ヘッダーを検証せず `checkUser` へ渡し、`setPassword` して `queryByBean`）のまま変わっていないことを確認しました。
- 悪用の報告は確認できていません。CISA の KEV には載っていません（2026.10.30 版の一覧で確認）。

## 影響を受ける条件

| 項目 | 内容 |
|---|---|
| 対象 | Jpom（dromara/Jpom）の 2.10.0 から 2.11.12（NVD の記載） |
| 前提 | 攻撃者が Jpom サーバーの HTTP ポートに到達できること。認証・権限は不要 |
| 評価 | CVSS v3.1 は 9.8（Critical、AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H）、v4.0 は 9.3。どちらも CNA の VulnCheck が付けた値（v3.1 は種別 Primary、v4.0 は Secondary）で、NVD 自身の評価ではない。NVD の状態は「Deferred」（10/31 時点） |
| 弱点の分類 | CWE-943（データ問い合わせ処理での特殊要素の不適切な無害化） |
| 修正版 | なし（確認できず）。最新リリースは 2.11.12 |

## 修正の状況

- 最新のリリースは v2.11.12（2025-05-06 UTC）です。master の最新コミットは 2026-02-06 UTC のもので、報告後（10/30）に増えた修正コミットはありません。そのため、修正コミットがタグに含まれるかの照合は、対象がなく行えません。
- Issue #121 は 10/30 UTC に立てられ、確認時点でコメントはなく、開いたままです。開発側の反応は確認できていません。
- 報告は、ヘッダー値を固定長の16進ダイジェストとして検証すること、呼び出し元の文字列を `queryByBean` に渡さないことを提案しています。これは報告者の提案で、開発側が採用したものではありません。

## 対応（修正版が出るまで）

1. Jpom のサーバーの管理画面と API を、インターネットや信頼できないネットワークに公開しないでください。VPN や許可した送信元からだけに絞ることを検討します（本記事の推定です）。
2. リバースプロキシなどで `JPOM-USER-TOKEN` ヘッダーを持つ外部からの要求を遮断する方法があります。API 利用者が正規にこのヘッダーを使っている場合は先に影響を確認してください（本記事の推定で、効果は検証していません）。
3. 公開していた環境では、予期しないスクリプトの登録・実行、トリガー URL の発行、管理者としてのログイン記録がないか確認します（本記事の推定）。Jpom を root で動かしている場合は、権限を落とすことも検討します。
4. 開発側のリリースや Issue #121 の更新を確認し、修正版が出たら更新します。

## 未確認の点

- 修正版・回避策の公式情報は確認できていません。開発側の反応も確認できていません。
- 悪用の報告は確認できていません。KEV にも載っていません。
- NVD の評価は未実施（状態は Deferred）で、CVSS は CNA（VulnCheck）の値です。
- EPSS は公開直後のため未算出です（FIRST にデータなし）。
- 報告の再現手順（管理者の取得、スクリプトの実行、公式イメージで root）は当サイトでは再現していません。2.10.0 より前の版が影響を受けないかも確認していません。
- 日付は、NVD の公開（2026-10-31 18:17 UTC）、Issue の作成（2026-10-30 UTC）、GitHub のリリース・コミットの記録に基づきます。


## 出典
- [NVD CVE-2026-120201](https://nvd.nist.gov/vuln/detail/CVE-2026-120201) — NIST NVD
- [GitHub Advisory GHSA-mr28-xw2h-9rw4](https://github.com/advisories/GHSA-mr28-xw2h-9rw4) — GitHub
- [VulnCheck の勧告](https://www.vulncheck.com/advisories/jpom-2.10.0-through-2.11.12-authentication-bypass-via-jpom-user-token-header) — VulnCheck
- [Jpom Issue #121](https://github.com/dromara/Jpom/issues/121) — GitHub
- [該当コード（v2.11.12）LoginInterceptor.java](https://github.com/dromara/Jpom/blob/v2.11.12/modules/server/src/main/java/org/dromara/jpom/common/interceptor/LoginInterceptor.java#L146) — GitHub
- [FIRST EPSS CVE-2026-120201](https://api.first.org/data/v1/epss?cve=CVE-2026-120201) — FIRST

---
出典: World Security（株式会社NTP） https://n-t-p.io/worldsecurity/articles/jpom-user-token-header-condition-injection-auth-bypass-2026-120201