
CVE-2026-56164 は、オンプレミスの Microsoft SharePoint Server に影響する重大な認証欠落の脆弱性です。これにより、認証されていないリモートの攻撃者がネットワーク経由で権限を昇格できる可能性があります。
緊急 (CVSS 9.8) — Microsoft SharePoint Server における未認証の特権昇格によるファーム管理者権限の取得
CVE-2026-56164 は、Microsoft SharePoint Server における重大な認証欠落の脆弱性であり、未認証のリモート攻撃者がファーム管理者レベルまで権限を昇格させることを可能にします。この脆弱性は、/_vti_bin/client.svc/ProcessQuery で SOAP リクエストを処理する Microsoft.Office.Server.UserProfiles アセンブリに存在します。
X-RequestDigest ヘッダーを意図的に省略し、特定のルーティングヘッダーを提供することで、影響を受けるサーバーは未認証リクエストを拒否する代わりに、昇格されたセキュリティコンテキストにフォールバックします。これにより、匿名の攻撃者がサイトコレクション、ユーザー、ファーム構成の列挙、管理者の追加、コマンド実行を行うことが可能になります。
CISA KEV: この脆弱性は、実際の攻撃での悪用が確認されているため、CISA の Known Exploited Vulnerabilities Catalog (既知の悪用済み脆弱性カタログ) に掲載されています。
| フィールド | 値 |
|---|---|
| CVE ID | CVE-2026-56164 |
| 深刻度 | CRITICAL |
| CVSS 3.1 | 9.8 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) |
| CWE | CWE-306: 重要な機能に対する認証の欠落 |
| 影響 | 未認証でのファーム管理者への権限昇格 |
| 悪用状況 | 活発な悪用 (CISA KEV) |
| MITRE ATT&CK | T1190 (公開アプリケーションの悪用) |
Microsoft.Office.Server.UserProfiles ハンドラーは、/_vti_bin/client.svc/ProcessQuery で SOAP リクエストを処理します。通常の動作では、SharePoint は X-RequestDigest ヘッダーを検証して認証コンテキストを確認します。しかし、検証バイパスが存在します:
X-RequestDigest が存在せず、かつ特定のルーティングヘッダーが存在する場合// Vulnerable: If digest is missing, handler checks routing headers
if (string.IsNullOrEmpty(digest) && CheckSpecialRoutingHeaders(context)) {
// Bypasses standard identity validation → elevated admin session
InitializeElevatedSecurityContext(context);
} else {
ValidateRequestDigest(digest); // Normal path
}
// Patched: Digest validation is unconditional
if (string.IsNullOrEmpty(digest)) {
context.Response.StatusCode = 401;
throw new UnauthorizedAccessException("Missing request digest.");
}
ValidateRequestDigest(digest);
InitializeStandardSecurityContext(context);
| 製品 | 影響を受けるバージョン | 修正版 |
|---|---|---|
| SharePoint Enterprise Server 2016 | パッチ適用前のすべての 16.0.x | 16.0.5561.1001 |
| SharePoint Server 2019 | パッチ適用前のすべての 16.0.x | 16.0.10417.20175 |
| SharePoint Server Subscription Edition | パッチ適用前のすべての 16.0.x | 16.0.19725.20434 |
影響なし: SharePoint Online (Microsoft 365)
┌─────────────────────────────────────────────────────────────────────┐
│ CVE-2026-56164 Exploit Toolkit │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ ┌────────────┐ ┌─────────────────┐ ┌────────────────────┐ │
│ │ scan.py │────▶│ HTTP Fingerprint│ │ payload_gen.py │ │
│ │ Scanner │ │ + Version Check │ │ │ │
│ └────────────┘ └─────────────────┘ │ ┌──────────────┐ │ │
│ │ │ │ CSOM Payloads│ │ │
│ │ Reports: │ │ (detection, │ │ │
│ │ • SharePoint detected? │ │ enum, │ │ │
│ │ • Server version │ │ elevate, │ │ │
│ │ • Vulnerable? │ │ execute) │ │ │
│ │ • Auth bypass confirmed? │ └──────────────┘ │ │
│ ▼ │ ┌──────────────┐ │ │
│ ┌────────────┐ ┌─────────────────┐ │ │ SOAP Payloads│ │ │
│ │ exploit.py │────▶│ HTTP Request │ │ │ (admin, exec)│ │ │
│ │ Exploit │ │ Delivery │ │ └──────────────┘ │ │
│ └────────────┘ └─────────────────┘ │ ┌──────────────┐ │ │
│ │ │ │ Bypass │ │ │
│ │ ┌──────────────────────┐ │ │ Headers │ │ │
│ ├─▶│ MODE: detect │ │ │ (routing) │ │ │
│ │ │ Safe, non-intrusive │ │ └──────────────┘ │ │
│ │ └──────────────────────┘ │ ┌──────────────┐ │ │
│ │ ┌──────────────────────┐ │ │ HTTP Request │ │ │
│ ├─▶│ MODE: enumerate │ │ │ Builder │ │ │
│ │ │ Sites, users, config │ │ └──────────────┘ │ │
│ │ └──────────────────────┘ └────────────────────┘ │
│ │ ┌──────────────────────┐ │
│ ├─▶│ MODE: elevate │ ┌──────────────────────┐ │
│ │ │ Add site/farm admin │ │ Target SharePoint │ │
│ │ └──────────────────────┘ │ /_vti_bin/client.svc │ │
│ │ ┌──────────────────────┐ │ /_vti_bin/SPAdmin │ │
│ └─▶│ MODE: execute │ └──────────────────────┘ │
│ │ System commands │ │
│ └──────────────────────┘ │
│ │ ┌──────────────────────┐ │
│ └─▶│ MODE: full │ detect→enum→elevate→execute │
│ └──────────────────────┘ │
└─────────────────────────────────────────────────────────────────────┘
┌─────────────┐
│ Start Scan │
└──────┬──────┘
│
▼
┌──────────────────┐ No ┌─────────────┐
│ Target reachable?│──────────▶│ Skip │
└──────┬───────────┘ └─────────────┘
│ Yes
▼
┌──────────────────┐
│ Send HTTP GET │
│ to common ports │
│ (443,80,8080, │
│ 8443) │
└──────┬───────────┘
│
▼
┌──────────────────┐ No ┌─────────────┐
│ SharePoint │──────────▶│ Not SP │
│ fingerprint? │ └─────────────┘
│ (MSST header, │
│ _vti_bin, │
│ suitebar, etc.) │
└──────┬───────────┘
│ Yes
▼
┌──────────────────┐
│ Extract version │
│ from MSST header │
│ / response body │
└──────┬───────────┘
│
▼
┌──────────────────┐ No ┌─────────────┐
│ Version in │──────────▶│ Not │
│ vulnerable │ │ vulnerable │
│ range? │ └─────────────┘
└──────┬───────────┘
│ Yes
▼
┌──────────────────┐
│ Test auth bypass │
│ (CSOM req w/o │
│ digest + bypass │
│ headers) │
└──────┬───────────┘
│
▼
┌──────────────────┐
│ Report: │
│ • VULNERABLE │
│ • Version │
│ • Bypass status │
│ • SSL cert info │
└──────────────────┘