本文へ移動
English version →
重大 9.1 急ぎ度: 早めに

Nexus Repository 3のSSO無効化を回避、修正版あり

Nexus Repository 3 ProでSAMLやOpenID Connectを使う組織では、管理者が無効化やロックをした利用者が、再びログインできてしまいます。3.98.0以降へ更新し、停止した人のIdP側アカウントの状態も見直してください。

CVE-2026-113373 公開 更新 執筆・監修: 佐々木 航 人が監修しながらAIを活用して執筆
画像は生成 AI で作成したイメージです

急ぎ度: 早めに

CVSS v4は9.1のcriticalで修正版3.98.0が公開済みですが、悪用にはIdPで有効な個人アカウントが要るため、至急ではなく早めの更新を勧めます。

関係があるか

Nexus Repository 3 ProでSAMLまたはOAuth2/OpenID ConnectのIdP連携を設定している組織が対象です。ビルド成果物や社内パッケージを管理し、退職者や異動者のアカウントをNexus側で止めている運用は、とくに見直しが要ります。

製品影響を受ける版修正版
Sonatype Nexus Repository 3 Pro >= 3.86.0, < 3.98.0 3.98.0

確かめ方

  1. 1Nexus Repositoryの管理画面で、稼働中の版が3.86.0以上3.98.0未満かを確認する。
  2. 2セキュリティ設定で、SAMLまたはOAuth2/OpenID Connectの連携が有効になっているかを確認する。
  3. 3Nexus側で無効化やロックをしたアカウントの一覧を出し、IdP側でも同じアカウントが有効なままになっていないかを突き合わせる。
  4. 4説明はPro版を対象にしています。Community EditionやSonatypeが提供する他の形態の扱いは、Sonatypeの告知で確認する。

何が起きたか

Nexus Repository 3 Proに、管理者が無効化またはロックしたアカウントでも、SSO経由なら再びログインできてしまう脆弱性が見つかりました。Nexus側で利用を止めたつもりの人が、止めていない状態に戻ります。

SAMLやOAuth2/OpenID Connectで認証するとき、Nexus Repositoryがローカルのアカウント状態を確認していないことが原因です。IdPが認証を通せば、Nexus側の無効化やロックは見られずに、新しいセッションが発行されます。

発行されたセッションには、そのアカウントに割り当てられたロールがそのまま付きます。

攻撃の流れ

  1. 1

    Nexus側で停止

    管理者がNexus Repositoryで、あるアカウントを無効化またはロックする。

  2. 2

    IdPは有効のまま

    同じアカウントがIdP側では有効で、本人が正しい資格情報を持っている。

  3. 3

    SSOでログイン

    本人がIdP経由でNexus Repositoryにサインインすると、ローカルの状態が確認されない。

  4. 4

    権限を回復

    新しいセッションが発行され、元のロールの権限で操作できる。

公開されている情報をもとにした流れの例です。

どう悪用されるか

Nexus Repositoryのセッションも権限も要りません。必要なのは、IdPで有効な資格情報を持つ個人名義のアカウントです。ネットワーク経由で到達でき、利用者の操作も要りません。匿名ユーザーはこの経路に含まれません。

たとえば、退職や異動でNexus側だけ止めたものの、IdP側のアカウントが残っていた人が当てはまります。

悪用されると、そのアカウントのロールが許す範囲で、リポジトリの内容を読んだり書き換えたりできます。成果物の置き換えは、ビルドを取り込む後続の工程にも影響します。

今すぐやること

  1. 1

    Nexus Repositoryを3.98.0以降に更新する

    修正版は3.98.0です。本番に当てる前に、テスト環境で連携ログインとロールの割り当てが従来どおり動くかを確認します。

  2. 2

    止めたアカウントをIdP側でも停止する

    Nexus側で無効化やロックをしたアカウントを洗い出し、IdP側で同じ人が有効なままになっていないか確認します。残っていれば、IdP側でも無効にします。

  3. 3

    無効化後のサインインの跡を調べる

    Nexus側で停止した日時より後に、そのアカウントでSSOログインした記録がないかを、Nexusの監査ログやIdPのサインインログで確認します。あれば、そのセッションで読み書きされた成果物とリポジトリ設定を調べます。

  4. 4

    Sonatypeの告知を読む

    Sonatypeのセキュリティ告知とリリースノートで、影響する形態、版、更新手順を確認します。

すぐ更新できないとき

すぐに更新できないときは、Nexus側で止めたアカウントを、IdP側でも無効にしておきます。この脆弱性は、IdPで有効な資格情報が使えることを前提にしているためです。あわせて、停止済みアカウントのサインイン記録を定期的に見ます。公式の回避策の有無は、Sonatypeの告知で確認してください。

背景

Nexus Repositoryは、社内でビルド成果物やライブラリ、外部リポジトリのキャッシュをまとめて置くサーバーです。CI/CDが取得も保存もするため、書き込める権限が奪われると、成果物の改ざんにつながります。

SSOを使う環境では、アカウントの状態がIdPとNexusの2か所に存在します。入館証を無効にしたのに、顔認証だけで通してしまうゲートのように、片方の停止がもう片方に反映されないと、止めたはずの人が戻れます。今回の脆弱性は、Nexus側の停止状態がSSOのログイン判定で見られていなかったものです。

よくある質問

Q.SSOを使わず、Nexus内のローカルアカウントでログインする利用者も影響を受けますか。
A.説明にあるのは、SAMLまたはOAuth2/OpenID Connectで構成したIdP経由のサインインです。ローカルアカウントで直接ログインする経路は、この記述に含まれていません。ただし更新対象は連携の有無に関係なく3.86.0以上3.98.0未満の版なので、版の確認は必要です。
Q.更新後に、直ったことをどう確認すればよいですか。
A.テスト環境で、テスト用アカウントをNexus側で無効化し、IdP側は有効のままにしてSSOログインを試します。ログインが拒否されれば、無効化が効いています。本番のアカウントで試す必要はありません。

この記事は、取得元の公開情報をもとに、人が監修しながらAIを活用して執筆しています。執筆と監修は佐々木 航が担い、公開したあとも人が内容を確認しています。誤りに気づいたときは直し、記事の末尾に訂正の行を残します。対応を決める前に、下の原文と参照先も確認してください。

影響パッケージ

種類パッケージ影響を受ける版修正版
Sonatype Nexus Repository 3
3.86.0 以上 3.98.0 未満
3.98.0
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。

Sonatype Nexus Repository 3 Pro does not check the local account status when a user signs in through a configured SAML or OAuth2/OpenID Connect identity provider. A user whose account was disabled or locked by an administrator in Nexus Repository can sign in again with valid identity provider credentials for the same account, and then receives a new session with the roles of that account. The attacker needs no Nexus Repository session and no Nexus Repository privilege. The attacker needs a named account that holds valid credentials at the identity provider. The anonymous user is not part of this attack path.

出典: CVE.org (CVE Program・cvelistV5) NVD GitHub Advisory

参照URL

当サイトでは、アクセス解析と広告の効果測定のために Cookie を使います。株式会社Game のサイト共通の設定です。 詳しく