速報

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

CATEGORY

Nitro Enclaves SDK for Cに2件の脆弱性|0.4.6更新とイメージ再ビルドが必要

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

隔離された実行領域のSDK更新とイメージ再ビルドを表す概念イラスト

この記事のポイント

脆弱性
CVE-2026-119116
CVE-2026-119148
深刻度

HIGH

対象
AWS Nitro Enclaves SDK for C 0.4.5以前
悪用状況
不明
推奨対応
SDKを0.4.6へ更新し、エンクレーブイメージを再ビルド・再配備してください。
公表日

目次

は2026年10月30日、AWS Nitro Enclaves for Cの2件を公表しました。対象は0.4.5以前で、修正版は0.4.6です。SDKを取り込んだエンクレーブイメージを再する必要があります。親EC2インスタンス上のアプリケーションから隔離領域へ入力が渡る構成を優先して確認してください。

-2026-119116はサンプルアプリケーションkmstool-enclaveのメモリー処理、CVE-2026-119148はSDKライブラリーの値検証に関係します。前者を使わないから両方対象外、あるいはEC2全体がインターネットから直接侵害される、といった一括判断は適切ではありません。本記事は11月2日に確認した公式告知に基づくニュース解説です。

スポンサーリンク

隔離領域へ渡る入力が確認点

AWS Nitro Enclaves SDK for Cは、Nitro Enclaves内で動作し、暗号学的なアテステーションを用いてAWS KMSを呼び出すアプリケーション向けのライブラリーとサンプルツールです。AWS公式速報2026-157-AWSは、kmstool-enclaveとライブラリー部分で異なる問題があることを説明しています。

エンクレーブを採用していても、外部から受け取る値の検証が不要になるわけではありません。今回の2件では、親インスタンスで実行されるアプリケーションが渡すメッセージやリージョン文字列が問題になります。Webアプリケーションの処理を隔離領域へ分離している担当者は、Web側とエンクレーブ側の担当をまたいでを確認する必要があります。

SetClientの問題はサンプルと派生コードが対象

CVE-2026-119116はkmstool-enclaveのSetClientコマンドハンドラーにおける解放後使用です。AWSは、親EC2インスタンス上のアプリケーションがvsockを通じて細工したメッセージを送ると、エンクレーブ内のヒープメモリーが破壊され、内部で任意コードを実行され得ると説明しています。一般の要求だけで直ちに成立する不要とは区別してください。

対象になるのはkmstool-enclave、またはそれから派生したコードを含むイメージです。配布元のサンプルをコピーして名称を変えている場合は、製品名の検索だけでは導入を見落とすため、元コードとの関係も確認します。SDKを依存に含むことと、脆弱なサンプル処理を実行していることを分けて記録してください。

自社が独自実装へ置き換えた部分があるなら、どの処理が残っているかをコードとビルド定義で照合します。今回の資料だけで独自実装の安全性を保証することはできません。名称変更や一部改変を対象外の根拠にせず、対象処理が実行される経路を確認することを提案します。サンプルの利用状況が不明な環境も、確認待ちとして残します。

スポンサーリンク

リージョン検証不備はライブラリー側の問題

CVE-2026-119148では、呼び出し元が指定したリージョン文字列からAWS KMSのサーバー名を組み立てる際の検証が不十分でした。親インスタンス上のアプリケーションが細工した長い値を渡すことで、KMSの接尾辞が切り詰められ、エンクレーブが接続先証明書の真正性を誤って解釈する可能性があります。

AWSの個別勧告は、KMSになりすまして、攻撃者が選んだ鍵素材などの偽応答を注入できると説明しています。未検証の外部リージョン値をライブラリーへ渡すアプリケーションが影響を受けます。kmstool-enclaveを使わない構成でも、この条件を別に確認してください。サンプルの利用有無だけでは判定が終わりません。

同資料は、真正なKMS応答は別途暗号化されており危険にさらされないこと、クロスアカウントやクロスのアクセスはできないことも明記しています。今回の問題をKMSサービス全体の侵害や、他の顧客の鍵の取得と説明するのは誤りです。確認すべきなのは、偽の応答を正しい処理結果として扱う可能性です。

リージョン値が設定ファイルの定数なのか、親側の要求や外部入力から渡されるのかを整理すると、調査対象を具体化できます。ただし、値を固定しているように見えることだけで更新を不要とは判断しません。公式はなし、更新が必要と案内しているため、入力経路の確認との準備を並行して進めることを勧めます。

SDKの取り込みとイメージ再ビルドを分ける

v0.4.6リリースは、SetClientのリージョン失敗時の解放後使用修正と、エンドポイントのホスト名構築前のリージョン検証を列挙しています。同リリースにはコンテキストの処理やエラー経路のポインター初期化などの変更も含まれます。修正公開と公表を確認した日を、攻撃開始日と混同しないようにします。

更新作業では、ソースツリーのタグ、ビルド時に参照するSDK、出来上がったイメージ、実際に起動しているイメージを対応付けます。開発端末でを更新しても、が固定した旧版を取得する場合や、保管済みの旧イメージを再利用する場合は、本番の処理は切り替わりません。これは本サイトが提案する配備確認の着眼点です。

特に、親インスタンス側の更新と、エンクレーブ内の成果物更新を同じ作業として扱わないようにします。SDKを組み込んだ側のビルドをやり直し、修正済みイメージの識別情報と作成時刻を記録します。独自フォークを使う場合には、上流の版番号だけでなく、修正を取り込んだ差分をレビューする必要があります。

本番へ投入する前に、以前のイメージがどこから起動されるかも確認します。自動復旧、スケールアウト、定期ジョブ、手動の再起動手順が旧成果物を参照していると、対応後に脆弱な状態へ戻る可能性があります。稼働中の一台だけを直すのではなく、次に作られる環境が修正版を使うことも完了条件に含めることを提案します。

スポンサーリンク

正常な入力と失敗時の処理を試験する

以下は公式が保証する試験手順ではなく、自社の検証計画を作るための提案です。まず検証用の鍵やデータを使い、正しいリージョンを指定した通常のKMS連携が動くことを確認します。暗号処理の結果だけでなく、親側から要求し、エンクレーブ側で処理し、結果を戻す一連の業務経路を対象にしてください。実機で検証済みという説明ではありません。

次に、設定不足や不正なリージョン値をアプリケーションがどう扱うかを確認します。本番で攻撃を再現する必要はありません。利用中のインターフェースが想定外の値を拒否するか、失敗を成功と区別できるか、エラー後の処理が適切かをで見ます。成功時だけを比較していると、入力検証やエラー経路に関係する変更を見逃します。

試験記録にはSDKの版、コードのリビジョン、イメージの識別情報、入力条件、期待する結果、実際の結果を残します。秘密鍵や平文の業務データを記録する必要はありません。検証に使った無害なデータと、結果を判断できるログの参照先を対応させることで、秘密情報を増やさずに再現性を確保できます。

依存関係の更新でビルドに失敗した場合は、その時点で完了扱いにせず、取得したSDKの版、ビルド定義、関連ライブラリーの制約を確認します。原因不明のまま無関係な依存まで広く更新すると、試験範囲が増えて切り分けにくくなります。修正を取り込む変更と、互換性のために必要な変更を対応票へまとめてください。

悪用状況と過去の影響を推測しない

今回確認したAWS速報と個別勧告は、具体的な被害件数や実環境での悪用確認を説明していません。構造化メタでも悪用状況は不明とします。悪用の記載がないことは攻撃が存在しない証拠ではなく、更新を後回しにする理由にもなりません。一方で、読者の環境が侵害されたと断定する根拠にもなりません。

すでに親インスタンスで不審なプロセス、予定外の入力、説明できない暗号処理結果などを把握している場合は、修正の適用と別に調査を進めます。本サイトからは、発生時刻、対象イメージ、実行された処理、関連ログを保全し、担当者へ引き継ぐことを提案します。更新は過去に受け取った応答を正当化したり、業務判断を自動で修復したりするものではありません。

過去の結果を再確認する必要があるかは、利用する鍵素材や処理の用途、親側入力の管理状況、残っている記録によって変わります。今回の資料だけで一律の鍵失効や全処理の再実行を公式要請として案内することはできません。確認できる範囲と不明な範囲を分け、業務責任者と対応範囲を決めてください。

対応完了は稼働中と作成元の両方で判断

担当者へ確認すべき結論は、kmstool-enclaveまたは派生コードの利用有無、外部リージョン値を渡す経路、SDK 0.4.6の取り込み、イメージ再ビルド、本番反映、通常処理と失敗時処理の確認です。二つの脆弱性を一つの条件へまとめず、コード実行と偽応答のそれぞれについて対象構成を記録します。

切り戻しを行う場合も、旧版へ戻したまま処理を続けてよいかを再判断する必要があります。復旧手順には、旧イメージへ戻す操作だけでなく、影響する機能の停止や処理の保留も含めて検討します。修正版が存在すること、ビルドが成功したこと、本番がその成果物を使っていることを順に確認するのが、今回の対応の要点です。

保守会社や別チームへ依頼する場合は、SDK更新の完了報告だけでなく、再ビルドしたイメージと実際の配信先が対応している証跡を求めます。アプリケーション担当がライブラリーを更新し、基盤担当が旧イメージを起動するような担当間のずれを防ぐためです。作業票には、配備担当、確認担当、次回の自動作成で使う成果物、未確認の環境を別々に記録してください。確認できていない環境が残る場合は、全体完了とせず対象範囲を明記します。

出典・一次情報

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

この記事を書いた人

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などの一次情報を参照し、出典と情報確認日を記載します。実環境での検証を行った場合は、その環境と確認範囲を明示します。重要な追加情報や誤りを把握した場合は、内容を確認して追記・訂正します。

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

ほかの脆弱性

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

関連する記事

おすすめの書籍

キーワードから探す

スポンサーリンク

検証環境

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

詳しく見る

CI/CD

コードの変更をきっかけに、テストやビルド、本番への反映までを自動で行う開発の仕組み。

詳しく見る

リポジトリ

ソースコードなどのファイルと、その変更の履歴をまとめて保管する場所。Gitで管理し、GitHubなどで共有する。

詳しく見る

JSON

データを「名前と値」の組で表す、軽くて読みやすいテキストの形式。APIのデータのやりとりなどで広く使われる。

詳しく見る

暗号化

データを、鍵を持つ人以外には読めない形に変換すること。通信や保存したデータを盗み見から守る。

詳しく見る

パッチ

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

詳しく見る

回避策

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

詳しく見る

テナント

クラウドやSaaSで、利用する組織ごとに分けられた区画。一つの仕組みを複数の組織で共有する形をマルチテナントと呼ぶ。

詳しく見る

エンドポイント

APIでリクエストを送る先のURL。また、ネットワークにつながるパソコンやスマートフォンなどの端末のことも指す。

詳しく見る

ドメイン

インターネット上の住所にあたる名前。「example.com」のように、WebサイトやメールアドレスのURLに使う。

詳しく見る

TLS

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

詳しく見る

RCE

攻撃者がネットワーク越しに、対象のサーバーや端末で任意のプログラムを実行できてしまう脆弱性、またはその攻撃。

詳しく見る

認証

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

詳しく見る

HTTP

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

詳しく見る

依存関係

プログラムが動くために必要な、ほかのライブラリやパッケージとの関係。また、その必要な部品そのもの。

詳しく見る

シークレット

パスワードやAPIキー、秘密鍵など、他人に知られてはいけない値。コードに書かず専用の仕組みで管理する。

詳しく見る

リージョン

クラウドのデータセンターが置かれている地域の単位。東京・大阪など、どこでサービスを動かしデータを保存するかを選ぶ。

詳しく見る

CVE

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

詳しく見る

ビルド

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

詳しく見る

脆弱性

ソフトウェアや設定の不備のうち、攻撃者に悪用されると情報漏えいや不正操作などにつながる弱点。

詳しく見る

SDK

ソフトウェア開発キット。特定のサービスや環境向けの開発に必要なライブラリやツール、ドキュメントをまとめたもの。

詳しく見る

AWS

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

詳しく見る