メインコンテンツへスキップ
セッションIDが筒抜けに ─ Citrix NetScaler SAML IDPの記憶漏洩脆弱性CVE-2026-3055が野生で悪用
ニュース 中級

セッションIDが筒抜けに ─ Citrix NetScaler SAML IDPの記憶漏洩脆弱性CVE-2026-3055が野生で悪用

ニュース 中級

CVSS 9.3のCitrix NetScalerメモリ読み取り脆弱性が2026年3月27日から積極的に悪用されています。SAMLログインに細工したリクエストを送るだけで、認証済み管理者のセッションIDがCookieに乗って返ってくる──この攻撃の仕組みと即時対応を解説します。

「記憶が漏れる」脆弱性とは何か

2026年3月24日、Citrix Systemsは NetScaler ADC および NetScaler Gateway に存在する脆弱性 CVE-2026-3055(CVSS 9.3)のパッチを緊急リリースした。そして3日後の3月27日には、脅威インテリジェンス企業watchTowrが「すでに野生での悪用を確認した」と発表した。

この脆弱性は技術的には メモリオーバーリード(memory overread) と分類される。難解な響きだが、本質は単純だ。アプリケーションが「特定の変数が存在するかどうか」だけをチェックして、「その変数に実際の値が入っているか」を確認しないまま、そのポインタが指す先のメモリを読み取ってしまう。

入力値がない場合、プログラムはゴミが詰まった「誰かの引き出し」を開けて、その中身を外に向かって返してしまう。その「引き出し」の中に、認証済みユーザーのセッションIDが入っていたのが今回の事件だ。

CVE-2026-3055 の基本情報
  • 製品: Citrix NetScaler ADC / NetScaler Gateway
  • CVSS スコア: 9.3(Critical)
  • 悪用条件: アプライアンスが SAML Identity Provider(IdP)として構成されている
  • 影響: 認証済み管理者セッションIDを含むキロバイト単位のメモリ内容が漏洩
  • 修正パッチ: 2026年3月24日リリース済み
  • 野生での悪用: 2026年3月27日確認

攻撃の仕組み ─ wctxパラメータの「値なし落とし穴」

watchTowrの技術解析が明らかにした攻撃手順は、経験豊富なセキュリティ担当者でも「そんなことで?」と思うほどシンプルだった。

NetScaler が SAML IdP として動作しているとき、ログインエンドポイント /saml/loginwctx というクエリパラメータを処理する。正常な動作では、このパラメータに文字列値が渡されてくる(例:wctx=rm%3Dvalue)。

ところが攻撃者が送るのは、値を持たない wctx だ ─ つまり ?wctx とだけ書く(= 記号すらない)。

GET /saml/login?wctx HTTP/1.1
Host: target.example.com

このリクエストに対して脆弱なNetScalerは:

  1. wctx パラメータが「存在する」ことを確認する(チェック通過)
  2. しかし値が存在しないため、メモリ上の「隣の引き出し」を指すポインタを使う
  3. その隣のメモリ領域の内容を Base64エンコードして NSC_TASS Cookieに格納し、レスポンスを返す

攻撃者はそのCookieを受け取り、Base64デコードするだけで、サーバーのメモリ上に存在していた情報を入手できる。watchTowrの実証では、漏洩する内容にはキロバイト単位のメモリダンプが含まれており、認証済み管理者のセッションIDが含まれていた

このセッションIDを使えば、攻撃者は正規の管理者としてNetScaler管理コンソールにアクセスできる。VPN設定の変更、証明書の窃取、バックドアの設置 ─ その先は想像に難くない。

実は「2つのバグ」だった

後続の分析で判明した事実がある。CVE-2026-3055 は実際には少なくとも2つの異なるメモリオーバーリードバグを1つのCVEに包んでいる。

  • 第1の脆弱性: SAML認証エンドポイント /saml/login に影響。上述の wctx パラメータを悪用する。
  • 第2の脆弱性: WS-Federation パッシブ認証エンドポイント /wsfed/passive に影響。SAMLとは異なるフェデレーション標準を使うが、根本的なメモリ管理の欠陥は同質だ。

The Registerが「Citrix NetScalerのバグは複数の欠陥が1つに集約されている可能性」と報じたとおり、同じメモリ管理コードの設計上の問題が複数の認証エンドポイントに波及していた。

なぜネットワーク機器は「壊れたまま」使われやすいのか

NetScalerのような大規模ネットワーク機器は、パッチ適用のために一時的に停止することが難しい場合が多い。企業のADCやGatewayは24時間365日のVPNアクセスを支えており、「メンテナンスウィンドウを設けてアップグレードする」というサイクルが確立されていないと、既知の重大脆弱性がパッチ未適用のまま数週間・数ヶ月放置される。攻撃者はこの「メンテナンス遅延」を業界の構造的な隙として認識し、パッチリリース直後に偵察と悪用を集中させる。

偵察→悪用のタイムライン

今回の脆弱性は「発見からの速度」という点でも際立っていた。

日付出来事
2026年3月24日Citrix がパッチをリリース
2026年3月26日頃watchTowr が脆弱なNetScalerインスタンスへの偵察トラフィックを検知
2026年3月27日watchTowr が野生での積極的な悪用を確認(日曜日)
2026年3月28日CISA が KEV(Known Exploited Vulnerabilities)カタログに追加
2026年3月30日BleepingComputerが大規模悪用の報告を掲載

パッチリリースから悪用確認までわずか3日。しかもその3日目は日曜日だ。「週末にパッチを当てれば月曜の朝までに安全になる」という常識は、もはや通用しない。

影響を受けるシステムと確認方法

CVE-2026-3055 が悪用可能な条件は限定的だが、多くの企業環境で該当する。

悪用条件:アプライアンスが SAML IdP として構成されていること

Citrix NetScaler が SAML プロバイダーとして Active Directory Federation Services(ADFS)やAzure ADと連携しているシステムが対象だ。エンタープライズのVPN環境やゼロトラスト実装の一部として採用されているケースが多く、大企業・官公庁・金融機関でのリスクが特に高い。

確認手順の概要:

  1. 管理コンソールで「SAML Authentication(認証ポリシー)」が有効かどうかを確認する
  2. バージョンが修正済みバージョン未満でないかチェックする
  3. アクセスログを精査し、/saml/login?wctx(値なし)形式のリクエストが来ていないか確認する

組織が取るべき対応

1. 即座にパッチを適用する

Citrix が2026年3月24日にリリースした修正バージョンへのアップグレードが最優先だ。他のいかなるワークアラウンドも、「パッチ適用まで」の一時措置に過ぎない。

2. SAML IdP 機能を一時的に無効化する

すぐにパッチを適用できない場合、SAML IdP として機能するエンドポイントを一時的に無効化し、外部からのアクセスを遮断することで悪用リスクを下げられる。

3. 管理者セッションの強制無効化とログレビュー

パッチ適用前後を問わず、すべての管理者セッションを強制的に無効化してパスワードをローテーションする。また過去1週間分のアクセスログを分析し、NSC_TASS Cookieに異常な値が含まれたリクエストや、管理コンソールへの不審なアクセスがないか確認する。

4. ネットワーク機器のパッチ管理プロセスを整備する

今回の事件が示したのは、「重大パッチ即日適用」が理想ではなく必須要件になったという現実だ。ネットワーク機器のアップグレードに必要な変更管理プロセスを短縮し、Criticalレベルのパッチは「48時間以内に適用開始」を基準にすることを強く推奨する。


まとめ

CVE-2026-3055 が改めて示したのは、境界型セキュリティの「番人」であるネットワーク機器そのものが、最も危険な攻撃面になりうるという逆説だ。SAMLやWS-Federationを使ったゼロトラスト認証基盤に組み込まれたCitrix NetScalerは、それが侵害されると全社の認証インフラが瞬時に崩壊する。「番人の番人は誰か」──パッチ管理のプロセスと速度こそが、現代のネットワーク防衛の核心にある。

ESC