Puppet Enterpriseに認可回避の脆弱性、修正版を公開
Puppet Enterpriseで、証明書の名前の照合に誤りがあり、別のホストになりすませる脆弱性が公表されました。対象の版を使う組織は、修正版への更新と、証明書の自動署名の設定確認を進めてください。
同じ発表の脆弱性 2 件
- CVE-2026-115732 重大 9.9
- CVE-2026-115731 重大 9.9
急ぎ度: 早めに
CVSS v4は9.0で重大ですが、悪用には認証局が発行した証明書が要り、修正版も出ているため、実際の攻撃の報告がない現時点では、計画を前倒しして更新する段階です。
関係があるか
Puppet Enterpriseでサーバーと管理対象ノードを運用している組織が対象です。ノードの証明書を自動署名(autosign)している環境や、申請を多数承認している環境は、とくに確認が必要です。
| 製品 | 影響を受ける版 | 修正版 |
|---|---|---|
| Puppet Enterprise 2023.8系 | 2023.8.0以上、2023.8.13未満 | 2023.8.13 |
| Puppet Enterprise 2025系 | 2025.0.0以上、2025.12.1未満 | 2025.12.1 |
| Puppet Enterprise 2026系 | 2026.0.0以上、2026.0.1未満 | 2026.0.1 |
確かめ方
- 1Puppet Enterpriseのプライマリサーバーで版を確認し、上の範囲に入るかを照らし合わせます。
- 2autosignの設定と、これまでに署名した証明書の一覧を確認します。承認で発行している場合も対象になり得ます。
- 3上の表にない版や、Puppet Server単体で使っている環境が影響を受けるかは、Perforceの告知で確認してください。
何が起きたか
Puppet Enterpriseで、クライアントの証明書の名前を認可ルールと照合する処理に誤りがありました。許可されたホスト名と完全には一致しない名前の証明書でも、そのホストとして扱われてしまいます。
Perforceが2026年11月3日に公表しました。問題があるのは、Puppet Serverが認可の判定に使っているtrapperkeeper-authorizationです。許可されたホスト名を延ばした名前や、縮めた名前の証明書が、許可済みのホストと誤認されます。
その結果、ほかのノードへのなりすましが成り立ちます。Puppet Enterpriseでは、認証局の管理機能へのアクセスや、管理対象ノードでのリモートコマンド実行にまで進みます。
攻撃の流れ
-
1
近い名前の証明書
既存の許可ホストに名前が近い証明書を、認証局が承認または自動署名で発行します。
-
2
サーバーへ接続
その証明書を持つクライアントが、Puppet Serverにネットワーク越しに接続します。
-
3
名前の照合を誤る
認可の判定が、名前の違いを見分けられず、許可済みのホストとして通します。
-
4
権限の乗っ取り
ノードへのなりすまし、認証局の管理操作、管理対象ノードでのコマンド実行に進みます。
どう悪用されるか
ネットワーク越しに攻撃でき、利用者の操作は要りません。ただし、認証局が署名した証明書を持っている必要があり、しかも、その名前が許可されたホスト名を延ばした、あるいは縮めたものでなければなりません。そのような証明書は、認証局が申請を承認するか、autosignで自動署名したときに発行されます。つまり、ノードの登録を誰でも申請できる環境ほど、条件が整いやすくなります。
悪用されると、ほかのノードになりすまして、そのノード向けの情報や権限を得られます。Puppet Enterpriseでは、認証局の管理機能が使われ、管理対象ノードでリモートからコマンドを実行されるおそれがあります。管理下の多数のサーバーに影響が広がる点が、この脆弱性の重さです。
今すぐやること
-
1
版を確認する
プライマリサーバーで版を調べ、2023.8.13、2025.12.1、2026.0.1のいずれにも達していないかを確認します。
cat /opt/puppetlabs/server/pe_version -
2
修正版に更新する
お使いの系統に合った修正版へ、通常のアップグレード手順で更新します。複数のサーバー構成では、まずテスト環境で動作を確かめるとスムーズです。
-
3
発行済みの証明書を見直す
署名済みの証明書の一覧に、既存ホストの名前を延ばしたり縮めたりしたような見覚えのない名前がないかを調べます。見つかったら、更新前でも侵害の可能性を含めて調査し、扱いを決めます。
puppetserver ca list --all -
4
autosignの設定を確認する
自動署名の対象が広すぎないかを確認します。更新が済むまでの間は、申請の承認も、ホスト名を一つずつ照らし合わせてから行います。
-
5
ベンダーの告知を確認する
表にない版やPuppet Server単体の扱い、回避策の最新情報は、Perforceのセキュリティ告知で確認してください。
すぐ更新できないとき
更新がすぐにできない場合のつなぎとして、autosignを無効にするか対象を最小限に絞り、承認する前に申請のホスト名が既存のホスト名と紛らわしくないかを確認します。これは発行を抑える対処にとどまり、脆弱性そのものは修正版を当てるまで残ります。
背景
Puppet Enterpriseは、多数のサーバーの設定を一か所から配布して管理する構成管理ツールです。管理対象のノードは証明書で自分を名乗り、プライマリサーバーはその名前を見て、どのノードにどの操作を許すかを決めています。今回の脆弱性は、この名前の照合にありました。
この仕組みでは、証明書の名前が、事実上その機器の身分証になります。Puppet Enterpriseの管理機能は、認証局の運用やノードへの設定配布まで担うため、名前を取り違えると、なりすましだけでなく、管理下のノードで任意のコマンドを実行される事態につながります。
よくある質問
Q.autosignを使わず、申請を手動で承認していれば影響はありませんか。
この記事は、取得元の公開情報をもとに、人が監修しながらAIを活用して執筆しています。執筆と監修は佐々木 航が担い、公開したあとも人が内容を確認しています。誤りに気づいたときは直し、記事の末尾に訂正の行を残します。対応を決める前に、下の原文と参照先も確認してください。
影響パッケージ
| 種類 | パッケージ | 影響を受ける版 | 修正版 |
|---|---|---|---|
| Perforce | Puppet Enterprise |
2023.8.0 以上 2023.8.13 未満 2025.0.0 以上 2025.12.1 未満 2026.0.0 以上 2026.0.1 未満 |
2023.8.13 2025.12.1 2026.0.1 |
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。
Incorrect authorization in the certificate-name matching of trapperkeeper-authorization, as used by Puppet Server, in the affected products, allows a client that holds a CA-signed certificate whose name extends or shortens an authorized hostname to be authorized as that host. This enables impersonation of other nodes and, in Puppet Enterprise, access to certificate-authority administration and remote command execution on managed nodes. Exploitation requires a certificate with a colliding name, which the certificate authority issues by approval or autosign.
出典: CVE.org (CVE Program・cvelistV5) NVD GitHub Advisory
参照URL
- REDHAT Red Hat
- web security@puppet.com
- web nvd.nist.gov
- web github.com