Oct 13, 2026·5 min read·5 visits
A race condition in ASP.NET Core allows authenticated low-privilege remote users to elevate privileges by sending high-frequency concurrent requests that hit unsynchronized shared memory structures.
An elevation of privilege vulnerability exists in ASP.NET Core and Microsoft Visual Studio due to improper synchronization during concurrent thread execution. Authenticated remote attackers with low privileges can exploit a timing window to manipulate shared resources and assume higher-level execution contexts.
CVE-2026-70183 is an elevation of privilege vulnerability in ASP.NET Core and Microsoft Visual Studio originating from improper thread synchronization when accessing shared resources. The vulnerability affects multiple active framework lines, including ASP.NET Core 8.0, 9.0, 10.0, and 11.0, as well as Visual Studio 2022 and 2026 developer environments.
The flaw lies within shared resource handling and state management components across concurrent web execution threads. Under standard execution conditions, the framework manages session context and security state across asynchronous worker threads. However, when unsynchronized memory operations encounter high-concurrency workloads, state variables can be corrupted or overwritten before execution completes.
An authenticated attacker possessing low-level privileges (PR:L) can target exposed ASP.NET Core endpoints over the network (AV:N). By intentionally inducing race conditions across concurrent requests, the attacker can force thread context switching to adopt an elevated authorization context, circumventing role-based access controls across the application scope.
The root cause of CVE-2026-70183 is classified under CWE-362: Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition'). The underlying fault stems from shared state references within core request processing pipelines that lack adequate synchronization primitives such as thread locks, mutexes, or atomic object reference swaps.
During asynchronous execution in .NET thread pools, worker threads handle interleaved client requests using shared memory structures for internal session state and authorization tokens. If two or more threads attempt to read and write to these internal state containers simultaneously without strict memory barriers, a timing window opens between the evaluation of authorization policies and the invocation of privileged operations.
Exploitation requires precise timing synchronization during request dispatch. Because access complexity is rated High (AC:H), successful privilege escalation requires the attacker to continuously send racing network requests until the thread state overlaps, allowing a low-privilege request context to ingest elevated security descriptors.
To understand the vulnerability path, consider how ASP.NET Core dispatches HTTP requests across the managed thread pool. The sequence below illustrates how unsynchronized shared resource state allows authorization context bleeding between concurrent client requests.
When Request A and Request B concurrently execute the state assignment block in the framework runtime, the low-privilege context of Request A evaluates its authorization check while Request B populates high-privileged user claims into the shared reference. Due to missing locking controls, Request A proceeds using the security claims established by Request B before the reference is cleared or reset.
This behavior bypasses ASP.NET Core authorization middleware checks, causing the application framework to execute subsequent business logic under the elevated authorization boundary.
Exploitation of CVE-2026-70183 requires a valid network connection to the targeted ASP.NET Core application and active low-privilege user credentials. Anonymous unauthenticated remote code execution is not achievable without first obtaining standard user authentication within the application context.
The attack vector involves deploying automated scripts capable of delivering concurrent HTTP pipelines or parallel WebSocket messages to stateful application endpoints. By generating sustained high-throughput request bursts, the attacker creates thread pool contention and increases the probability of hitting the race window.
Upon successfully triggering the race condition, the low-privilege session receives a HTTP response confirming execution with elevated privileges. The attacker can then perform actions normally restricted to administrative or system-level roles, including unauthorized data access, system settings modification, or downstream service interaction.
CVE-2026-70183 carries a CVSS v3.1 Base Score of 7.5 (High) with vector string CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H. The vulnerability presents severe impact across Confidentiality, Integrity, and Availability dimensions within the affected application trust boundary.
An attacker who successfully escalates privileges can extract sensitive records, modify system configurations, and disrupt application services. Because the scope is Unchanged (S:U), the impact is constrained to the authorization domain governed by the hosting ASP.NET Core application and its immediate underlying execution context.
As of the reporting date, Microsoft reports exploit code maturity as Unproven (E:U). The vulnerability is not currently listed in the CISA Known Exploited Vulnerabilities (KEV) catalog, and active exploitation in the wild has not been observed in threat intelligence feeds.
Remediation requires updating all affected ASP.NET Core runtime assemblies and Visual Studio installations to their fixed patch releases. Organizations should prioritize updating production web services and developer workstations.
For ASP.NET Core applications, update project dependencies to version 8.0.32, 9.0.21, 10.0.13, or 11.0.0-rc.2 depending on the framework release track. Visual Studio installations should be updated to 17.14.42 for Visual Studio 2022 or 18.10.4 for Visual Studio 2026.
Detection strategies include monitoring Web Application Firewall (WAF) logs for abnormal spikes in concurrent HTTP requests originating from a single authenticated user session. Furthermore, development teams should execute .NET security CLI audits (dotnet list package --vulnerable) across CI/CD build pipelines to identify vulnerable ASP.NET Core package references.
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H| Product | Affected Versions | Fixed Version |
|---|---|---|
ASP.NET Core 8.0 Microsoft | < 8.0.32 | 8.0.32 |
ASP.NET Core 9.0 Microsoft | < 9.0.21 | 9.0.21 |
ASP.NET Core 10.0 Microsoft | < 10.0.13 | 10.0.13 |
ASP.NET Core 11.0 Microsoft | < 11.0.0-rc.2 | 11.0.0-rc.2 |
Microsoft Visual Studio 2022 (v17.14) Microsoft | 17.14.0 - < 17.14.42 | 17.14.42 |
Microsoft Visual Studio 2026 (v18.10) Microsoft | 18.10.0 - < 18.10.4 | 18.10.4 |
| Attribute | Detail |
|---|---|
| CWE ID | CWE-362 (Race Condition) |
| Attack Vector | Network (AV:N) |
| Attack Complexity | High (AC:H) |
| Privileges Required | Low (PR:L) |
| CVSS v3.1 Score | 7.5 (High) |
| CISA KEV Status | Not Listed |
| Exploit Status | Unproven / No Public PoC |
| Impact | Elevation of Privilege (High C/I/A) |
The software performs concurrent execution on a shared resource without proper synchronization mechanisms, enabling an attacker to alter expected state transitions.
ASP.NET Core contains a thread deadlock vulnerability (CWE-833) that allows an unauthenticated remote attacker to cause a denial of service over the network by exhausting server thread pool resources.
CVE-2026-70035 is a high-severity Remote Code Execution (RCE) vulnerability in Microsoft .NET Framework, .NET runtime, and Visual Studio caused by improper handling during the deserialization of untrusted data (CWE-502). An unauthenticated attacker can execute arbitrary code within the context of the affected process by delivering a crafted serialized payload.
A path traversal vulnerability (CWE-22) in Contao CMS allows unauthenticated remote attackers to bypass directory boundary restrictions in ImagesController and access files within the project directory.
Contao Open Source CMS versions 4.0.0 through 5.3.49 and 5.4.0-RC1 through 5.7.11 contain a Cross-Site Request Forgery (CSRF) vulnerability in backend parameter handling. The `RequestTokenListener` component validates anti-CSRF tokens solely for HTTP POST requests, while GET-based declarative guards run only when an `act` parameter is present in the query string. Consequently, custom backend actions dispatched via alternative parameters such as `key=` can execute without CSRF token verification when triggered by an authenticated user.
Contao CMS versions 4.1.0 through 5.3.49 and 5.4.0-RC1 through 5.7.11 fail to validate form submission tokens and enforce rate limiting when processing activation email resend requests via HTTP POST, enabling resource exhaustion and account state enumeration.
An information disclosure vulnerability in Contao CMS allows unauthenticated site visitors to view protected page titles, URLs, and text excerpts through search queries when protected page indexing is disabled after previously being enabled.