速報

プレステージで最大約550万件の情報持ち出し|ロードサービスは代替運用で継続

CATEGORY

AWS Private CAのKubernetes連携に認可不備|1.10.1更新前にIssuer指定を点検

※本ページのリンクにはプロモーションが含まれています。

種類の異なる証明書発行者を照合し不一致を拒否する境界と証明書更新の期限確認を表す概念イラスト

この記事のポイント

脆弱性
CVE-2026-119115
深刻度

HIGH8.5

対象
AWS Private CA Connector for Kubernetes(aws-privateca-issuer 1.10.1未満/EKSアドオン 1.10.1-eksbuild.1未満)
悪用状況
不明
推奨対応
発行者のname・kind・groupと承認範囲を照合し、1.10.1以降またはEKSアドオン1.10.1-eksbuild.1以降へ更新する。更新後の証明書発行・更新も確認する。
公表日

目次

Private Connector for Kubernetesに、許可されていない発行者からを取得できる不備-2026-119115が公表されました。利用者はaws-privateca-issuerを1.10.1以降、EKSアドオンを1.10.1-eksbuild.1以降へ更新してください。ただし、先にCertificateRequest、Certificate、Ingressの発行者指定を点検する必要があります。従来の曖昧な指定は、更新後に証明書の更新停止を招くためです。

本稿は2026年10月31日にAWS:CVE-2026-119115に関するセキュリティ勧告、開発元、公式CVEレコード、修正コードを確認したニュース解説です。対象はcert-managerとAWS Private CAを組み合わせ、Webサービスやサービス間通信の証明書を管理する担当者です。以下の棚卸し・試験計画は本サイトの提案を含み、読者環境で攻撃や動作を再現した報告ではありません。

スポンサーリンク

名前空間の承認とクラスターの発行権限が食い違う

このコネクターは、cert-managerの証明書要求をAWS Private CAへ渡して署名する外部Issuerです。AWSPCAIssuerは名前空間に属し、AWSPCAClusterIssuerはクラスター全体から参照できます。同じ名前でも種類と有効範囲が異なるため、承認した発行者と実際に使う発行者を一致させなければなりません。

公式発表によると、影響版では一定条件下で、名前空間内のIssuerだけを承認された済み利用者が、承認ポリシーで許可されていないクラスターIssuerから証明書を得られます。対象には下位CA証明書も含まれます。インターネット上の誰もが認証なしで発行できるという説明ではなく、証明書要求を扱える主体と承認範囲の組み合わせが問題です。開発元:Issuer解決の認可不備に関するアドバイザリが影響と暫定策を説明しています。

原因の理解には開発元:issuerRef.kindに従って検索する修正コミットが参考になります。修正前は名前空間内のIssuer取得に失敗した際、同名のクラスターIssuerを探す処理がありました。修正後はissuerRef.kindを受け取り、指定された種類だけを検索します。これは単なる表記の厳格化ではなく、承認した種類と実際の署名先を一致させる修正です。

本サイトとしては、複数チームへ名前空間を委任している環境、クラスターIssuerを共有する環境、用途の異なるCAを併用する環境を優先点検の対象と考えます。下位CA証明書を得られた場合の影響はCAの権限・テンプレート・信頼関係にも依存します。秘密鍵が盗まれた、既存の全TLS通信が解読された、と広げて断定できる公表ではありません。

修正版の公開日と脆弱性の公表日を分ける

開発元:aws-privateca-issuer v1.10.1リリースは2026年10月13日付で、Issuer検索時にkindを尊重する修正を含みます。AWS勧告の初回公表は10月29日9時30分PDT、日本時間では10月30日1時30分です。CVE Program:CVE-2026-119115公式レコードも10月29日の公表を記録しています。10月31日に新しいが出た案件と読み替えず、導入済みの版を実際に照合してください。

影響範囲はaws-privateca-issuerの1.10.1未満、EKSアドオンの1.10.1-eksbuild.1未満です。GitHubの表示では1.10.0以下が対象になっています。Helm管理とEKSアドオン管理では版の形式が異なるため、数字の一部だけを見て判定せず、インストール方式と版を組にして記録します。

公式CVEの v3.1は8.5(High)、v4.0は8.4(High)です。本記事の構造化メタにはv3.1の8.5を採用します。確認したAWS勧告と開発元資料には、実環境での悪用を確認したとの記載はありません。悪用なしを保証する意味ではなく、現時点で確認できた根拠の範囲として扱います。

スポンサーリンク

更新前に三つのリソースと発行元を対応させる

最初に、どのクラスターでコネクターが動いているか、HelmかEKSアドオンか、実行中のイメージと配備済み版を一覧にします。マニフェストの希望値だけでなく、現在のDeploymentとPodも確認します。独自やフォークを使っている場合は、版名の見た目ではなく修正の取り込みを確認してください。

次にCertificateRequestと、その作成元となるCertificate、さらにIngressから自動生成される経路をたどります。発行者のname、kind、group、名前空間、実際のIssuer、対応するCA、証明書の期限を同じ台帳へまとめます。古い要求だけを見つけて終えず、次回の更新でも正しい要求を作れるかを確認するための棚卸しです。

例えば、次のコマンドは参照先を確認するための読み取り例です。対象クラスターとkubectlのcontextを確認し、必要な範囲を一覧できる資格情報で実行します。全名前空間を閲覧できない場合は担当範囲ごとに集約してください。一覧が空でも、権限外のリソースが存在しない証拠にはなりません。

kubectl get certificates.cert-manager.io,certificaterequests.cert-manager.io -A \
  -o custom-columns='KIND:.kind,NS:.metadata.namespace,NAME:.metadata.name,ISSUER:.spec.issuerRef.name,ISSUER_KIND:.spec.issuerRef.kind,GROUP:.spec.issuerRef.group'
kubectl get ingress -A

CertificateRequestだけを書き換える前提にはしません。要求は証明書発行の履歴でもあり、再作成時にはCertificateやIngress側の指定が使われます。GitOps、Helm値、テンプレートなど生成元も修正対象へ含め、作業後の同期で古い指定へ戻らないようにします。既存要求の扱いは利用中のcert-managerの手順に沿って判断してください。

issuerRef.kindの省略と種類の不一致を解消する

AWSが更新前に求めているのは、issuerRef.kindをAWSPCAIssuerまたはAWSPCAClusterIssuerへ明示し、参照先の種類と一致させることです。kindがない、Issuerなど別の値になっている要求は修正後にFailedとなります。AWSPCAIssuerでクラスターIssuerを参照する要求は、Pendingのままになります。

FailedとPendingは同じ原因とは限りません。前者では未対応のkind、後者では指定した種類の発行者を見つけられるかが切り分けの出発点です。現在の証明書が有効な間は通信できても、次回の更新に失敗し、期限切れで依存サービスへ影響が出ることがあります。更新直後の疎通だけで完了としないでください。

参照部分だけを示す例は次のとおりです。example-pcaは自環境の実在する発行者名へ置き換えます。クラスター発行者へ切り替える場合は、kindを変えるだけでなく、その利用が承認ポリシーで許可されているかも確認します。この断片だけでは完全なCertificateマニフェストにはなりません。

issuerRef:
  name: example-pca
  kind: AWSPCAIssuer
  group: awspca.cert-manager.io

スポンサーリンク

Ingressのcluster-issuerへ機械的に置き換えない

cert-manager:Ingressの証明書発行アノテーションでは、外部Issuerの種類をcert-manager.io/issuer-kind、グループをcert-manager.io/issuer-groupで指定します。クラスター全体の発行者だからといって、cert-manager.io/cluster-issuerへ機械的に置き換えないでください。この省略形はcert-manager標準のClusterIssuer向けで、外部のAWSPCAClusterIssuerを指定する用途ではありません。

開発元:AWS Private CA Issuerの構成と利用方法も、AWSのクラスターIssuerにはcert-manager.io/issuerを使うよう説明しています。以下は名前空間内の発行者を指定するアノテーションの例です。AWSPCAClusterIssuerを使う構成ではissuer-kindをその種類へ合わせ、issuer名と承認範囲も再照合します。

metadata:
  annotations:
    cert-manager.io/issuer: example-pca
    cert-manager.io/issuer-kind: AWSPCAIssuer
    cert-manager.io/issuer-group: awspca.cert-manager.io

Ingressの設定を直した後は、生成されたCertificateのissuerRefも読み戻します。テンプレートへ正しい値を書いたことと、実行中のリソースへ反映されたことは別です。複数のIngressで証明書を管理する環境では、正常な一件だけを確認せず、異なる生成経路や名前空間を含めて確認します。

更新と暫定策は承認ポリシーまで含めて適用する

設定の棚卸しを終えたら、導入方式に合う修正版へ更新します。AWSはフォークや派生コードにも修正を取り込むよう求めています。更新後は古いPodが残っていないこと、想定したIssuerを参照できること、正規の要求が承認・発行へ進むことを確認します。修正版の指定だけでなく稼働状態も対応票へ残します。

すぐに更新できない場合、公式のは証明書承認ポリシーとRBACを発行者名と種類の両方へ絞ることです。名前だけで同名リソースを同一視するルールがないか確認します。修正後に発行が止まったからといって承認チェックを無効化したり、種類の制約を外したりすると、今回守るべき境界を弱めるため避けてください。

本サイトが提案する確認は、管理下ので正規の発行を通す試験と、承認範囲外の種類へ解決されない試験を分けることです。本番のCAを使って越権発行を試す必要はありません。開発元の修正テストも、指定した種類が存在しない場合に別の種類へ代替しないケースを含みます。自社の期待値と実際の結果を残してください。

最後に、CertificateRequestの条件、イベント、コネクターの記録、Certificateの更新予定と期限を見ます。既存Secretがあることやが現在通ることだけでは、次の証明書発行が成功する証拠になりません。kindの不一致、発行者の不存在、承認拒否、AWS側の権限不足を区別し、エラーを消すための権限拡大で済ませないことが重要です。

不審な発行が疑われる場合は、利用可能な要求履歴、承認の記録、CA側の発行履歴を保全して照合することを提案します。コネクターを更新しても、過去に発行された証明書の効力まで自動で取り消す対策とは説明されていません。対象証明書と信頼先が判明した段階で、CA管理者と失効・再発行の要否を判断してください。

完了条件は、修正版の稼働、発行者のname・kind・groupの一致、承認ポリシーとの対応、正規の新規発行と更新の確認です。特に名前空間を複数チームへ委任している運用では、クラスター共通の発行権限を誰に渡しているかまで確認します。セキュリティ修正と証明書期限の監視を同じ変更計画に入れ、後日の期限切れを取り残さないようにします。

関連記事

名前空間を使った委任の別の点検例として、consul-k8sの認可不備と名前空間の制限も解説しています。今回とは製品・認証経路が異なるため、修正版や設定値を流用せず、それぞれの境界を確認してください。

出典・一次情報

本記事は以下の公開情報をもとに作成しています。最新の状況は各リンク先で確認してください。

この記事を書いた人

Ryohei

Webエンジニア / アプリ開発者 / 技術ブログ運営者

福岡のWeb制作会社に勤務するWebエンジニアです。10年以上にわたりWeb制作・開発に携わり、ヒアリングや進行管理から、コーディング、CMSの構築、システム開発、サーバーの構築・保守・運用まで、Webサイト制作の工程を幅広く担当しています。Webサイトは、これまでに100以上の構築・保守を手がけてきました。

個人でもWebサイトの制作・改修やWebアプリの開発・運用を行い、AIを活用した開発にも取り組んでいます。近年はWebセキュリティにも注力しています。

2015年から技術メディア「Into the Program」を運営し、実務や開発で得た知識をもとに、プログラミングの実装方法やWebサイトの運用・セキュリティ情報を発信しています。

主な分野
Webサイト構築・保守・運用 / HTML/CSS / JavaScript / PHP / WordPress / サーバー構築・保守・運用 / アプリ開発 / セキュリティ対策
資格・試験合格
情報セキュリティマネジメント試験
基本情報技術者試験
AWS認定ソリューションアーキテクト アソシエイト
PHP8技術者認定ウィザード
メディア運営
2015年〜

記事の作成・更新について

セキュリティ記事は、ベンダーの公式アドバイザリやCVE・JVNなどの一次情報を参照し、出典と情報確認日を記載します。実環境での検証を行った場合は、その環境と確認範囲を明示します。重要な追加情報や誤りを把握した場合は、内容を確認して追記・訂正します。

あわせて確認したい対策・解説

ほかの脆弱性

※悪用の「未確認」は、最終確認時点で悪用の報告が見つかっていないことを示します。悪用されていないことを保証するものではありません。「不明」は公表情報に悪用状況の記載がないものです。

関連する記事

おすすめの書籍

キーワードから探す

スポンサーリンク

HTTPS

HTTPの通信をTLSで暗号化したもの。Webサイトとの通信を盗み見や改ざんから守る。

詳しく見る

検証環境

本番環境に反映する前に、変更や更新が問題なく動くかを試すための環境。本番と同じ構成にできるほど確認の精度が上がる。

詳しく見る

回避策

修正版をすぐに適用できない場合に、脆弱性を悪用される条件をなくすための一時的な対処。機能の無効化や設定の変更など。

詳しく見る

API

ソフトウェアやサービスの機能を、ほかのプログラムから決まった方法で呼び出して使えるようにした窓口。

詳しく見る

HTTP

ブラウザとWebサーバーがやりとりするための決まりごと(プロトコル)。暗号化したものはHTTPSと呼ぶ。

詳しく見る

コミット

Gitなどで、ファイルの変更をひとまとまりの記録として保存すること。また、その記録。

詳しく見る

ビルド

ソースコードなどから、実際に動かしたり配布したりできる形の成果物を作る作業。

詳しく見る

CVSS

脆弱性の深刻度を0.0〜10.0の数値で評価する共通の基準。数値が大きいほど深刻度が高い。

詳しく見る

パッケージ

ソフトウェアを配布・インストールしやすいように、プログラムと必要な情報をひとまとめにしたもの。npmやComposerなどで管理する。

詳しく見る

パッチ

ソフトウェアの不具合や脆弱性を修正するための更新プログラム。適用することで既知の問題を解消する。

詳しく見る

認証

アクセスしてきた相手が本人であることを確かめる仕組み。パスワードや生体情報、電子証明書などを使う。

詳しく見る

TLS

インターネット上の通信を暗号化し、盗み見や改ざん、なりすましを防ぐための仕組み(プロトコル)。HTTPSで使われる。

詳しく見る

アドバイザリ

開発元や公的機関が公表する、脆弱性の内容・影響を受けるバージョン・対処方法などをまとめた情報。

詳しく見る

CVE

公開された脆弱性に付けられる世界共通の識別番号。「CVE-2026-12345」のように年と連番で表す。

詳しく見る

認可

認証で確認した利用者に、どの情報や機能へのアクセスを許すかを決める仕組み。

詳しく見る

電子証明書

公開鍵の持ち主が誰かを、認証局が証明する電子的な証明書。HTTPSのサーバー証明書やソフトウェアの署名に使う。

詳しく見る

認証局

電子証明書を発行し、公開鍵の持ち主が本物であることを保証する機関。ブラウザはあらかじめ信頼する認証局を持っている。

詳しく見る

AWS

Amazonが提供するクラウドサービス(Amazon Web Services)。仮想サーバーやストレージ、データベースなど多くのサービスがある。

詳しく見る