Jul 15, 2026·6 min read·424 visits
Missing authentication in the User Profiles assembly allows unauthenticated network attackers to elevate privileges to Farm Administrator by omitting the security digest and supplying specific routing headers.
CVE-2026-56164 is a critical vulnerability affecting Microsoft SharePoint Server. It permits unauthenticated, remote attackers to bypass identity verification controls. This flaw is classified under CWE-306: Missing Authentication for Critical Function and allows elevation of privilege up to Farm Administrator level. The vulnerability has been added to CISA's Known Exploited Vulnerabilities catalog due to active exploitation.
CVE-2026-56164 is a security flaw within the user profile and site collection endpoints of Microsoft SharePoint Server. The vulnerability resides specifically within the Microsoft.Office.Server.UserProfiles assembly, which manages directory operations and user properties across SharePoint collections. This component exposes endpoints that receive client-side requests, making it a target for privilege escalation attacks.
The flaw is categorized under CWE-306 (Missing Authentication for Critical Function). It permits unauthenticated remote attackers to execute operations that normally require administrative permissions. Because of the exposed nature of client-facing service handlers, this vulnerability can be exploited over standard network protocols without user interaction.
Upon successful exploitation, an anonymous network connection can gain Site Collection Administrator or Farm Administrator authorization. This enables control over SharePoint site contents, configuration databases, and connected services. Immediate remediation is necessary to prevent unauthorized structural modifications and administrative compromise.
The root cause of CVE-2026-56164 lies in how the Microsoft.Office.Server.UserProfiles handler processes incoming SOAP requests directed at /_vti_bin/client.svc. Under standard operations, SharePoint implements a request-validation pipeline that checks for security identifiers and anti-forgery tokens. This process relies on the presence and verification of the X-RequestDigest HTTP header to assert authentication context and protect against unauthorized operations.
When a request is submitted to the client service handler, the system is designed to initialize the security context within the SPContext object. However, a validation bypass exists when specific HTTP routing headers are included while the X-RequestDigest header is deliberately omitted. Instead of rejecting the unauthenticated request, the internal application logic evaluates the routing parameters and falls back to a highly privileged default state.
Because the backend execution pathway fails to assert identity constraints under this conditional logic, the request bypasses the standard authentication gate. The system then processes the inbound SOAP actions with system-level credentials rather than the caller's actual security context. This allows external, anonymous entities to execute arbitrary configurations or retrieve restricted site resources.
An analysis of the underlying .NET assemblies reveals the logical failure within the request handler before the July 2026 security patch. The vulnerable code pathway determines security initialization using a conditional check that can be bypassed using manipulated HTTP request headers.
// Vulnerable C# implementation in Microsoft.Office.Server.UserProfiles
public void ProcessRequest(HttpContext context) {
string digest = context.Request.Headers["X-RequestDigest"];
// VULNERABILITY: If the digest is missing, the handler incorrectly inspects secondary routing headers.
// If special routing parameters are satisfied, the system bypasses security verification.
if (string.IsNullOrEmpty(digest) && CheckSpecialRoutingHeaders(context)) {
// Bypasses standard identity validation and initializes an elevated administrative session
InitializeElevatedSecurityContext(context);
} else {
// Normal execution path requiring validation
ValidateRequestDigest(digest);
}
}To resolve this vulnerability, Microsoft modified the request processing flow to enforce strict validation rules. The update completely removes the fallback pathway that allowed routing headers to override security context checks. The patched logic now strictly enforces X-RequestDigest validation across all execution branches.
// Patched C# implementation in Microsoft.Office.Server.UserProfiles
public void ProcessRequest(HttpContext context) {
string digest = context.Request.Headers["X-RequestDigest"];
// PATCH: Validate presence of the security digest unconditionally.
// Bypassing identity checks via routing headers is no longer permitted.
if (string.IsNullOrEmpty(digest)) {
context.Response.StatusCode = 401;
throw new UnauthorizedAccessException("Access denied: Missing request digest verification.");
}
ValidateRequestDigest(digest);
InitializeStandardSecurityContext(context);
}Exploitation of CVE-2026-56164 requires direct network access to the target SharePoint instance's client service endpoint located at /_vti_bin/client.svc. An attacker does not require prior authentication or specialized credentials to initiate the attack. The vector is executed solely through unauthenticated HTTP requests.
The attack begins by assembling a crafted SOAP payload designed to invoke administrative endpoints within the User Profiles service. The attacker transmits this SOAP payload while intentionally omitting the X-RequestDigest header. To trigger the bypass, specific secondary routing headers are appended to the HTTP request to direct execution to the unvalidated pathway.
When the vulnerable server receives the request, it executes the payload within the context of an administrative session. This leads to privilege escalation, allowing the attacker to alter site metadata, administrative permissions, or service configuration databases. Evidence of this exploit class has been observed in public repositories and actively tracked campaigns.
The impact of successful exploitation of CVE-2026-56164 is critical, primarily leading to unauthorized privilege escalation. While the direct integrity impact is classified as Low according to the CVSS metric, the resulting administrative elevation allows complete takeover of site collections and farm configurations. This compromise acts as an initial entry point for broader corporate network access.
According to the CVSS v3.1 vector string CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N, the vulnerability is rated with a base score of 5.3. However, the operational severity is heightened due to its inclusion in the CISA KEV catalog. Active exploitation indicates that threat groups are actively leveraging this flaw to compromise internet-exposed SharePoint infrastructure.
Once administrative access is achieved on a site collection, the scope of damage can be extended to confidential data exfiltration and persistent lateral movement. By modifying site permissions, adversaries can establish permanent backdoors, manipulate document repositories, or execute secondary exploits against the hosting Windows Server infrastructure.
Organizations operating vulnerable SharePoint instances must prioritize the installation of Microsoft security updates released in July 2026. The vulnerability is fully patched in SharePoint Enterprise Server 2016 (version 16.0.5561.1001), SharePoint Server 2019 (version 16.0.10417.20175), and SharePoint Server Subscription Edition (version 16.0.19725.20434).
If immediate patching is not feasible, network-level mitigations should be applied to reduce the attack surface. Administrators should restrict access to the /_vti_bin/client.svc endpoint using Web Application Firewalls (WAF) or IIS URL Rewrite Rules. These rules should block requests to the client service endpoint that do not contain valid authorization parameters.
<!-- Recommended IIS URL Rewrite Rule to block unauthenticated SOAP calls -->
<rule name="Block-ClientSvc-Bypass" stopProcessing="true">
<match url="_vti_bin/client.svc" />
<conditions>
<add input="{HTTP_X_RequestDigest}" pattern="^$" />
</conditions>
<action type="CustomResponse" statusCode="403" statusReason="Forbidden" statusDescription="Access Denied" />
</rule>Additionally, forensic monitoring should be configured to detect unauthorized privilege modifications. Security teams must audit the Site Collection Administrators group for unexpected additions and analyze IIS web server logs for anomalous POST requests directed at /client.svc that return HTTP 200 responses despite missing request digests.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N| Product | Affected Versions | Fixed Version |
|---|---|---|
SharePoint Enterprise Server 2016 Microsoft | >= 16.0.0, < 16.0.5561.1001 | 16.0.5561.1001 |
SharePoint Server 2019 Microsoft | >= 16.0.0, < 16.0.10417.20175 | 16.0.10417.20175 |
SharePoint Server Subscription Edition Microsoft | >= 16.0.0, < 16.0.19725.20434 | 16.0.19725.20434 |
| Attribute | Detail |
|---|---|
| CWE ID | CWE-306 |
| Attack Vector | Network (AV:N) |
| CVSS Score | 5.3 |
| Exploit Status | Active Exploitation |
| KEV Status | Listed |
The application does not perform any authentication check for a critical function that requires authorization.
An elevation of privilege vulnerability exists in .NET Aspire versions prior to 13.6.5 due to the insertion of sensitive information into sent data (CWE-201). When the Developer Control Plane (DCP) container tunneling feature is enabled, the orchestration engine implicitly exposes all endpoints of the Aspire Dashboard—including its administrative frontend and management APIs—to containerized workloads instead of restricting tunnel access solely to OpenTelemetry Protocol (OTLP) collection endpoints. This exposure allows an attacker operating within a compromised or untrusted container to query the dashboard frontend, extract sensitive environment variables and connection strings, and elevate privileges across the host orchestration boundary.
CVE-2026-118750 is an uncontrolled resource allocation vulnerability (CWE-770) affecting the Microsoft.AspNetCore.WebUtilities component in ASP.NET Core. Specifically, the FileBufferingReadStream class eagerly allocates large memory buffers from the shared ArrayPool<byte> inside its constructor prior to reading any incoming request payload data. An unauthenticated remote attacker can exploit this behavior by opening numerous concurrent connections and stalling or omitting request body transmission, exhausting shared memory pools and causing a server-wide Denial of Service (DoS).
CVE-2026-114155 is a local elevation of privilege vulnerability affecting Microsoft .NET on Linux and macOS platforms. The vulnerability exists within the dotnet-watch (Hot Reload) component and is caused by a Time-of-Check Time-of-Use (TOCTOU) race condition (CWE-367) during the generation and execution of temporary XML solution files (.slnx) in shared system temporary directories. A local attacker with low privileges can intercept and modify the temporary solution file before MSBuild evaluates it, achieving arbitrary code execution in the security context of the user running dotnet-watch.
CVE-2026-118748 is a remote Denial of Service (DoS) vulnerability in Microsoft ASP.NET Core (.NET 11.0 preview releases prior to 11.0.0) and Microsoft Visual Studio 2026 (prior to 18.12.0). The flaw originates from unbounded resource allocation (CWE-770) within the Blazor static server-side rendering (static-SSR) validation pipeline, where dynamic or attacker-supplied form field identifiers are cached in a singleton-scoped memory structure without size limits or eviction policies. Unauthenticated remote attackers can exploit this condition over the network by sending repeated HTTP requests with unique field names, exhausting heap memory and terminating the host process via an unhandled OutOfMemoryException.
CVE-2026-114150 is a network-accessible information disclosure vulnerability affecting Microsoft ASP.NET Core in .NET 11.0 preview releases and Microsoft Visual Studio 2026 prior to version 18.12.0. The flaw stems from the use of uninitialized resources (CWE-908) within response buffering components, specifically ResponseBufferingStream used by middleware such as HTTP Logging and Output Caching. Because rented memory segments from ArrayPool<byte> or MemoryPool<byte> are not cleared upon return or strictly bounded to the exact written byte count during subsequent reads, residual response payloads from earlier HTTP requests remain in the buffer tail. Downstream consumers or log sinks reading these buffers expose confidential cross-session data, including authentication tokens and personally identifiable information.
An incorrect authorization vulnerability (CWE-863) exists in the ASP.NET Core SignalR HTTP Connection Dispatcher (`Microsoft.AspNetCore.Http.Connections`). The connection negotiation process failed to bind the authenticated caller identity to the generated connection state, and subsequent transport or message dispatch handlers failed to verify caller consistency. Consequently, an authenticated low-privilege attacker who obtains a valid connection identifier or token can inject messages into or hijack another user's SignalR session, achieving an elevation of privilege across security boundaries.