79%対51%:独立系ネオバンクはアプリセキュリティで後れ。 レポートを読む

ディープダイブ

ディープダイブ

SAP NetWeaver ICM2SHELL:認証前RCE(CVE-2026-76964)

SAPの11月パッチデーは、ICMとWeb Dispatcherに認証前RCEを許すICM2SHELLと、さらに3件のCVSS 10.0の脆弱性を修正した。

要点

  • ICM2SHELL は、SAPカーネルのWebSocket処理にあるメモリ破壊の脆弱性で、Internet Communication Manager(ICM)とSAP Web Dispatcherが共有するコードにあります。細工したWebSocketメッセージの連続により、プロセスがクラッシュするか、<sid>admとしてコマンドが実行されます。
  • SAP NetWeaver AS ABAPのカーネル7.40以降と、すべてのWeb Dispatcher(SAP HANA XSに組み込まれたものを含む)が影響を受けます。AS Javaは直接は影響を受けません。
  • SAPはCVE-2026-76964、CVE-2026-89126、CVE-2026-89103、CVE-2026-120017をCVSS v3.1 10.0 クリティカルと評価しています。悪用は知られておらず、CISAも記録しておらず、2026年11月14日時点でいずれもKEVにありません。
  • ICMとWeb DispatcherにはSAPノート3778530と3778556、ゲートウェイには3798345、SAML2には3849308を適用してください。修正済みカーネルパッチレベルは「修正方法」にあります。

影響を受けますか?

次の両方が当てはまる場合、ICM2SHELLの影響を受けます。

  • SAPカーネル7.40以降でSAP NetWeaver AS ABAPを実行している、または任意のSAP Web Dispatcherを実行している。
  • 攻撃者が、ICMまたはWeb Dispatcherが提供するHTTPまたはHTTPSポートに到達できる。

単体のWeb Dispatcherと、SAP HANA XS ClassicまたはXS Advancedに組み込まれたものを含め、すべてのWeb Dispatcherが該当します。SAP NetWeaver AS JavaはICM2SHELLの影響を受けません。デュアルスタック構成はABAPスタックを通じて影響を受けます。SAP Content Serverは影響を受けません。カーネル7.22は影響を受けません。

同じパッチデーには、別の露出条件を持つ3件の認証前脆弱性も修正されています。

  • PROXYGATE(CVE-2026-89103) は、ABAP、AS Java、デュアルスタック、単体のゲートウェイを含め、SAPゲートウェイを実行するすべてのシステムに影響します。悪用可能かどうかはゲートウェイのプロキシポリシーで決まります。
  • SAML2の脆弱性(CVE-2026-120017) は、SAPがノート3849308で説明する構成でSAML2サービスプロバイダーを使用するNetWeaver AS ABAPシステムに影響します。
カーネルまたはコンポーネント 影響を受けるリリース 修正済みパッチレベル
SAPカーネルとWeb Dispatcher 7.53 1616, 1617
SAPカーネルとWeb Dispatcher 7.54 710
SAPカーネルとWeb Dispatcher 7.77 914
SAPカーネルとWeb Dispatcher 7.93 401, 420
SAPカーネルとWeb Dispatcher 9.16 111
SAPカーネル 9.18 37
SAPカーネル 9.20 11, 13
SAP HANA 2.0のXS Classic内Web Dispatcher リビジョン079と089 2.00.079.11, 2.00.089.05
SAP XS AdvancedとXS Runtime 1 SP05 パッチ4
保守終了カーネル 7.40, 7.41, 7.42, 7.45, 7.49, 7.73, 7.81, 7.85, 7.89 修正なし。アップグレード

カーネル7.93では、パッチ番号が大きいだけでは修正済みと判断できません。PL 419は依然として影響を受けます。更新されたPL 401 Stack Kernel、公開後のPL 402、またはPL 420以降を使用し、SAPノート3778788のFAQ 6で適切なブランチを確認してください。

表には修正済みの9行と、SAPが保守しないカーネルの1行があります。これはICMとWeb Dispatcherの修正のパッチレベルです。ゲートウェイのパッチレベルは異なり、「修正方法」に記載しています。

SAPの11月パッチデーでは43件の新規および更新のセキュリティノートが公開され、そのうち12件がHotNews、13件がHigh Priorityでした。4件がCVSS v3.1 10.0です。

SAPの2026年11月パッチデーでは43件のノートが公開された
図1:SAPの2026年11月パッチデーで公開されたノート。出典:Onapsis, SAP Security Notes: November 2026 Patch Day、2026年11月14日確認

プライマリインスタンスだけでなく、すべてのアプリケーションサーバーとすべてのWeb Dispatcherで実行中のカーネルを確認します。

# On every application server, including each additional one
disp+work -v

# Through sapcontrol, for each instance number
sapcontrol -nr <NR> -function GetVersionInfo | grep -Ei 'kernel|patch'

# Gateway proxy mode: 1 is restrictive, 0 or an absent parameter is the default allow-all
sapcontrol -nr <NR> -function ParameterValue gw/acl_mode_proxy

disp+work -v は実行中のバイナリのカーネルリリースとパッチ番号を表示します。その番号を自分のリリースの行と比較してください。Web Dispatcherでは、バージョン出力か、インスタンスの作業ディレクトリにあるdev_webdispの先頭行で同じ値を確認します。

修正方法

修正はカーネルバイナリに含まれるため、影響を受ける各コンポーネントにSAPノートを適用して再起動します。

  1. すべてのAS ABAPアプリケーションサーバーにノート3778530を、すべてのWeb Dispatcher(HANA XSとXS Advancedの組み込みコンポーネントを含む)にノート3778556を適用します。表のパッチレベルに到達させます。
  2. すべてのゲートウェイにノート3798345を適用し、カーネルが対応している場合はgw/acl_mode_proxy = 1を設定します。カーネル7.93と9.16はすでにこのパラメーターに対応しています。カーネル7.22、7.53、7.54、7.77、8.04はノートで対応します。
  3. SAML2の脆弱性については、影響を受けるSAP_BASISリリースにノート3849308を適用し、トランザクションSAML2で信頼するIDプロバイダーを確認します。
  4. 修正した各コンポーネントを再起動し、実行中のカーネルパッチ番号を確認します。再起動なしでインストールしたサポートパッケージは、脆弱なバイナリをメモリに残します。
  5. ICMとWeb DispatcherのHTTP/HTTPSポート、およびゲートウェイのポート33NNと48NNへのネットワークアクセスを制限します。

ゲートウェイの修正はカーネルの別の部分を使うため、独自のパッチレベルを持ちます。

カーネル 必要な最小パッチ
7.22 EXT, 7.22_EX2, 7.22_EX3 1612
7.53 1625
7.54 718
7.77 915
8.04 244
9.20 16
9.21 4

カーネル7.20、7.21、7.40、7.41、7.42、7.45、7.49、7.73、7.81、7.85、7.89は保守終了しています。SAPノート3810197が説明するように、保守中の下位互換カーネルへアップグレードしてください。

SAPがサポートする2つの回避策がICM2SHELLの露出を減らします。どちらも修正の代わりにはならず、両方とも動作を変えます。

  1. WebSocketを無効にします。プロファイルでicm/HTTP/support_websocket_upgrade=FALSEを設定し、ICMまたはWeb Dispatcherを再起動します。脆弱な経路は消えますが、ABAP Push Channelsと一部のFioriおよび統合シナリオが壊れます。先にHTTPログでステータスコード101を確認してください。WebSocketトラフィックがないシステムのほうが失うものが少なくなります。
  2. 修正済みのWeb Dispatcherでバックエンドを保護します。7.53 PL 1629、7.54 PL 723、7.93 PL 430、9.16 PL 200以降のWeb Dispatcherは、そのWeb Dispatcherだけを通じて到達するシステムしか保護しません。攻撃者が直接到達できるバックエンドは保護しません。Web Dispatcherがicm/server_port_<x> = PROT=ROUTERを使用している場合も機能しません。

ゲートウェイでは、制限的なprxyinfoファイルが暫定対策です。P SOURCE=* DEST=*のようなルールを、信頼できるホストと宛先に限定したルールに置き換えます。prxyinfoファイルがなく、カーネルがまだパラメーターに対応していない場合は、修正を適用するまで作成してください。SAPはノート3798345の代わりになる回避策を記載していません。

公開分析にはSAML2の脆弱性の回避策が記載されていません。ノート3849308の適用が修正です。

根本原因は何ですか?

ICMは、ABAPシステムのHTTP、HTTPS、WebSocketトラフィックを受け取るSAPカーネルのコンポーネントです。すべてのブラウザーセッション、Fioriアプリ、OData呼び出し、Webサービス要求がここを通ります。SAP Web Dispatcherは同じカーネルコードで作られたリバースプロキシで、WebSocketメッセージを転送するだけでなく、自分で再組み立てします。

ICM2SHELLは、このWebSocket再組み立て処理におけるヒープのメモリ破壊です。 WebSocket接続は、アップグレードを求めるHTTP要求として始まります。その後メッセージは複数のフラグメントに分割でき、受信側はアプリケーションに渡す前にそれらを結合します。Onapsisは、WebSocket制御フレームの一部のサイズと長さのパラメーターが適切に検証されないことを発見しました。

細工したフレームの連続により、ICMまたはWeb Dispatcherは接続用に確保したメモリを超えて攻撃者のデータを書き込みます。結果は即時のクラッシュか、制御されたヒープ破壊です。SAPカーネルはクローズドソースのため、脆弱な関数は公開されていません。Onapsisがアドバイザリで仕組みを説明しています。

PROXYGATEは、ゲートウェイがプロキシアクセス制御リストを適用する方法にある、別のカーネルの脆弱性です。 SAPゲートウェイは補助プログラムを起動し、RFC接続を中継します。prxyinfoファイルは、どの送信元がプロキシ接続を開けるか、その接続がどこへ向かえるかを一覧にします。ファイルがない場合、プロファイルパラメーターgw/acl_mode_proxyが既定の動作を決めます。既定値は0で、すべてのプロキシ接続を許可します。

SAPの既定のアクセス制御リストは、外部の攻撃者を内部アプリケーションサーバーとして分類します。そのため細工した要求は「内部を許可」のルールを通り、ゲートウェイは攻撃者が指定したプログラムを起動します。

SAML2の脆弱性は、アサーション検証の欠落です。 SAPによると、SAML2サービスプロバイダーは特定の構成で受信する認証アサーションを十分に検証しません。認証されていない攻撃者が細工したアサーションを送信し、特権アカウントを含む任意のユーザーとしてセッションを得られます。

どのように悪用されますか?

ICM2SHELLの公開された実証コードはありません。Onapsisは技術的な悪用手順を伏せ、SAPには動作する完全なエクスプロイトを提供しました。以下の手順は、アドバイザリが公開している経路を説明します。

  1. ICMまたはWeb DispatcherのHTTPまたはHTTPSポートに到達します。WebSocketサポートは、使用していないシステムでも既定で有効です。
  2. WebSocketのアップグレードを完了します。SAP S/4HANAの一部の既定ICFサービスは、認証なしでWebSocket接続を受け付けます。
  3. サイズまたは長さのフィールドが後続データと一致しない、細工したWebSocket制御フレームの連続を送信します。
  4. 再組み立てコードはその値を信頼し、接続用のバッファーを超えて書き込みます。不正な連続はプロセスをクラッシュさせます。
  5. 破壊したメモリを整形して実行をリダイレクトします。Onapsisは、そのエクスプロイトが<sid>admとしてOSコマンドを最初から最後まで実行すると述べています。

PROXYGATEは同じアカウントへ別の経路を取ります。

  1. プロキシポリシーが信頼しないネットワークから、ゲートウェイポート33NNまたは48NNに到達します。
  2. 細工したプロキシ要求を送信します。分類の欠陥により、ゲートウェイは送信元を内部アプリケーションサーバーとして扱います。
  3. 「内部を許可」のルールを通り、ゲートウェイは要求が指定したプログラムを<sid>admの権限で起動します。

SAML2の脆弱性はコマンド実行を必要としません。

  1. SAML2サービスプロバイダーのエンドポイントに到達します。
  2. 影響を受ける構成で、細工した認証アサーションを送信します。
  3. サービスは十分な検証なしでそれを受け入れ、指定されたユーザーのセッションを作成します。

攻撃の流れは?

細工したWebSocketがICMまたはWeb Dispatcherに到達してヒープを破壊し、<sid>admとしてコマンドを実行します。PROXYGATEも別の経路でこのアカウントとしてOSコマンドを実行できます。一方、SAML2の脆弱性は管理者を含むSAPアプリケーションユーザーになりすまします。

flowchart LR A["攻撃者がHTTPまたはHTTPSポートに到達"] --> B["WebSocketアップグレードが受け入れられる"] B --> C["不正な制御フレーム"] C --> D["再組み立てがバッファーを超えて書き込む
(サイズ検証なし)"] D --> E["クラッシュまたはヒープ破壊"] E --> F["admとしてOSコマンド"]

攻撃者に何ができますか?

ICM2SHELLは、ネットワークアクセスを持つ認証されていない攻撃者に、SAPインストールを所有する<sid>admアカウントと同じ制御を与えます。

  • セキュアストアとインスタンスプロファイルからデータベースの資格情報やその他の秘密を読み取り、データベース内の業務データを直接読んだり変更したりする。
  • RFC宛先と技術的な資格情報を収集し、接続されたSAPおよびSAP以外のシステムへ移動する。
  • 構成やバイナリを変更し、永続的なアクセスを維持する。
  • システムを停止したりデータを破壊したりして、それが実行する業務プロセスをオフラインにする。

不正な接続1つでICMまたはWeb Dispatcherがクラッシュすることもあります。プロセスの再起動中、それが提供するすべてのFioriアプリ、API、Webサービスが利用できなくなり、繰り返し試行すると停止が続きます。

PROXYGATEは認証なしで<sid>admと同じコマンド実行を与えますが、ゲートウェイのプロキシポリシーが許可的または欠落している場合に限られます。制限的なprxyinfoは信頼しないネットワークからの経路を遮断します。

SAML2の脆弱性は、管理者を含む任意のSAPユーザーとしてのセッションを与えます。SAPが説明するSAML2構成に依存し、なりすましたユーザーの権限を通じて接続システムにも及び得ます。

修正が機能する理由

カーネルの修正は、Onapsisが説明するWebSocket再組み立て処理の検証不足を解消します。

ノート3778530とノート3778556は、表のパッチレベルで修正済みのカーネルコードを提供します。ICMとWeb Dispatcherはコードを共有するため、修正は両方を対象にします。

ノート3798345はゲートウェイの既定のプロキシ動作を変更し、gw/acl_mode_proxyを追加します。ノート適用後、prxyinfoがない場合にすべて許可ではなく制限的にするため、運用者はパラメーターを1に設定する必要があります。ノート3849308は、受信するSAML2アサーションの不足している検証を追加します。

SAPはこれらのクローズドソースコンポーネントのパッチ差分を公開していないため、修正を行単位で確認できません。Onapsisは脆弱性が再組み立て処理にあると述べ、SAPのノートは修正済みパッチレベルを一覧にしています。どちらのベンダーも変更後のコードを公開していません。

侵害されたかどうかを確認するには?

SAPもOnapsisもICM2SHELLの侵害指標を公開していません。以下の確認は、試行が残すクラッシュと再起動のパターンと、他の脆弱性が生むゲートウェイとSAML2の活動を探します。

  • 各アプリケーションサーバーとWeb Dispatcherで、/usr/sap/<SID>/<INSTANCE>/work/のdev_icmとdev_webdispを調べ、保守時間外の予期しない終了、パニック、再起動の記録を確認します。
  • icmanとsapwebdispのプロセスIDを、最後に計画した再起動と比較します。修正も再起動もないのに変わっていれば手がかりです。
  • ICMまたはWeb DispatcherのHTTPログで、WebSocketアップグレードを示すステータスコード101を検索します。WebSocketを使うアプリケーションがなければ、そのような要求は確認に値します。
  • ゲートウェイでは、dev_gwrdとセキュリティ監査ログで、SAPサーバーネットワーク外からの受信プロキシ接続と、既知のジョブ以外で起動した補助プログラムを確認します。
  • SAML2では、IDプロバイダー側に対応する認証イベントがないログオンと、2026年11月10日以降に新規作成または変更された特権ユーザーを確認します。

失敗した試行はクラッシュ以外の痕跡を残さないことがあり、クラッシュには別の原因もあります。これらの結果は証拠ではなく手がかりとして扱ってください。

年表

  • 2026-11-10:SAPが11月のセキュリティノート(3778530、3778556、3798345、3849308を含む)と4件のCVEレコードを公開する。OnapsisがICM2SHELLとPROXYGATEの分析、およびパッチデーのレビューを公開する。
  • 2026-11-12:OnapsisがICM2SHELLとPROXYGATEのアドバイザリを更新する。
  • 2026-11-14:悪用は報告されておらず、CISAのSSVCレコードは依然として「なし」を示し、4件のCVEはいずれもCISAのKEVカタログにない。

よくある質問

ICM2SHELLは実際の攻撃で悪用されていますか?

いいえ。Onapsisは11月10日に悪用を観測していないと述べ、CISAのSSVCレコードは「なし」を示し、2026年11月14日時点で4件のCVEはいずれもKEVにありません。OnapsisがSAPに提供した動作するエクスプロイトは実証用であり、公開ツールではありません。

認証はICM2SHELLからSAPシステムを守りますか?

いいえ。脆弱性は認証前に到達できるため、HTTPまたはHTTPSポートへのネットワークアクセスで十分です。SAP S/4HANAの一部の既定ICFサービスは、認証なしでWebSocket接続を受け付けます。

SAP NetWeaver AS Javaは影響を受けますか?

ICM2SHELLについてはいいえ。脆弱性はABAPスタックのカーネルコードにあり、デュアルスタック構成はそのスタックを通じて影響を受けます。ゲートウェイの脆弱性はAS Javaシステムと単体ゲートウェイに影響します。

SAP HANAデータベースは影響を受けますか?

HANA XS ClassicとXS Advancedに組み込まれたWeb Dispatcherが影響を受け、修正済みリビジョンは2.00.079.11と2.00.089.05です。OnapsisはHANAデータベースエンジン自体を影響対象として挙げていません。

修正の代わりにWebSocketを無効にできますか?

アプリケーションが使用していなければ可能です。icm/HTTP/support_websocket_upgrade=FALSEを設定し、コンポーネントを再起動します。ICM2SHELLの経路は消えますが、ABAP Push Channelsと一部のFioriシナリオが壊れるため、先にHTTPログでコード101を確認してください。

ノート適用後に何か設定する必要がありますか?

ゲートウェイについては必要です。ノート3798345の後、対応するカーネルでgw/acl_mode_proxy = 1を設定し、制限的なprxyinfoファイルを維持します。ICM2SHELLではカーネルの修正が解決策であり、修正済みバイナリを読み込むためにコンポーネントを再起動する必要があります。

Ostorlabで公開されたSAPシステムを洗い出す

ネットワーク上で到達できるSAPアプリケーションサーバーとWeb DispatcherをOstorlabの攻撃対象領域ディスカバリーで洗い出します。Basisチームは、どのホストを先に修正して再起動すべきか分かります。

参考資料

  • Onapsis Research Labs, "ICM2SHELL (CVE-2026-76964 and CVE-2026-89126): A Critical Pre-Authentication Vulnerability in SAP NetWeaver's ICM and Web Dispatcher", 2026年11月10日、2026年11月12日更新: https://onapsis.com/blog/icm2shell-cve-2026-76964-cve-2026-89126-sap-netweaver-web-dispatcher-threat-advisory/ (2026年11月14日確認)
  • Onapsis Research Labs, "PROXYGATE (CVE-2026-89103): A Critical Pre-Authentication Vulnerability in SAP NetWeaver's Gateway", 2026年11月10日、2026年11月12日更新: https://onapsis.com/blog/proxygate-cve-2026-89103-sap-netweaver-gateway-threat-advisory/ (2026年11月14日確認)
  • Onapsis Research Labs, "SAP Security Notes: November 2026 Patch Day", 2026年11月10日、2026年11月12日更新: https://onapsis.com/blog/sap-security-patch-day-nov-2026/ (2026年11月14日確認)
  • SAPセキュリティノート3778530、CVE-2026-76964のICM修正: https://me.sap.com/notes/3778530 (2026年11月14日確認)
  • SAPセキュリティノート3778556、CVE-2026-89126のWeb Dispatcher修正: https://me.sap.com/notes/3778556 (2026年11月14日確認)
  • SAP FAQノート3778788、ICM2SHELLの回避策: https://me.sap.com/notes/3778788 (2026年11月14日確認)
  • SAPセキュリティノート3798345、CVE-2026-89103のゲートウェイ修正: https://me.sap.com/notes/3798345 (2026年11月14日確認)
  • SAPセキュリティノート3849308、CVE-2026-120017のSAML2修正: https://me.sap.com/notes/3849308 (2026年11月14日確認)
  • SAPノート3810197、保守終了カーネルの下位互換アップグレード経路: https://me.sap.com/notes/3810197 (2026年11月14日確認)
  • CVE-2026-76964のレコード、CVSS v3.1 10.0、2026年11月10日公開: https://www.cve.org/CVERecord?id=CVE-2026-76964 (2026年11月14日確認)
  • CVE-2026-89126のレコード、CVSS v3.1 10.0、2026年11月10日公開: https://www.cve.org/CVERecord?id=CVE-2026-89126 (2026年11月14日確認)
  • CVE-2026-89103のレコード、CVSS v3.1 10.0、2026年11月10日公開: https://www.cve.org/CVERecord?id=CVE-2026-89103 (2026年11月14日確認)
  • CVE-2026-120017のレコード、CVSS v3.1 10.0、2026年11月10日公開: https://www.cve.org/CVERecord?id=CVE-2026-120017 (2026年11月14日確認)
  • CISAの悪用済み脆弱性カタログ。4件のCVEはいずれも掲載されていない: https://www.cisa.gov/known-exploited-vulnerabilities-catalog (2026年11月14日確認、カタログのJSONフィードによる)