CVEReports
CVEReports

Automated vulnerability intelligence platform. Comprehensive reports for high-severity CVEs generated by AI.

Product

  • Home
  • Sitemap
  • RSS Feed

Company

  • About
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CVEReports. All rights reserved.

Made with love by Amit Schendel & Alon Barad



CVE-2026-69522

.NET and Visual Studio Remote Code Execution Vulnerability (CVE-2026-69522)

Amit Schendel
Amit Schendel
Senior Security Researcher

Sep 9, 2026·7 min read·271 visits

Executive Summary (TL;DR)

A heap-based buffer overflow in .NET and Visual Studio allows unauthenticated remote code execution via malformed project files or network payloads.

CVE-2026-69522 is a high-severity Remote Code Execution (RCE) vulnerability in Microsoft .NET runtimes, .NET Framework, and Visual Studio caused by a heap-based buffer overflow (CWE-122). An unauthenticated attacker can exploit this flaw by inducing a user to open a malicious project file or by transmitting crafted payloads over the network, leading to arbitrary code execution within the context of the running application.

Vulnerability Overview

CVE-2026-69522 is a critical heap-based buffer overflow vulnerability residing within the native parsing libraries utilized by the Microsoft .NET Runtime and Visual Studio. The flaw allows an unauthenticated, remote attacker to execute arbitrary code within the security context of the affected application or user. To exploit this vulnerability, an attacker must leverage network delivery or local file distribution to deliver a malformed payload that triggers the parsing logic.

The vulnerability is classified under CWE-122 (Heap-based Buffer Overflow). In client-side environments such as Visual Studio, exploitation typically relies on user interaction, such as persuading a developer to open a corrupted project configuration or localized resource file. In server-side .NET applications, the vulnerability may be triggered when the application parses untrusted network inputs or streams using vulnerable native modules.

The CVSS v3.1 score for this vulnerability is assessed at 8.8 (High), reflecting a high-impact threat that demands immediate remediation. Although exploitation is theoretical and no public proof-of-concept is currently available, the capability for complete confidentiality, integrity, and availability compromise makes this vulnerability a priority target for enterprise patching.

Root Cause Analysis

The root cause of CVE-2026-69522 lies in the boundary handling of native parsing functions within the .NET runtime host environment. While managed .NET assemblies run within a safe execution environment, certain high-performance tasks such as localized resources, cryptographic parsing, and GUI layout are handed off to native C/C++ dynamic link libraries. This interface presents a potential boundary where security controls can break down if input validation is insufficient.

When the native parsing library processes external assets or network streams, it reads a length header indicating the size of the incoming payload. The vulnerability occurs because the parser allocates a fixed-size buffer on the process heap without verifying that the declared stream payload fits within the allocated block. If the payload exceeds the allocated buffer size, a subsequent copy instruction writes data past the buffer boundary.

This classic heap-based overflow corrupts adjacent heap headers and pointers in memory. In a structured heap-based attack, the overflow allows the corruption of internal C++ object virtual tables (vtables) or application function pointers. When the application attempts to resolve and execute a virtual method from the corrupted table, execution control is hijacked.

Code Analysis

The following diagram illustrates the vulnerable data flow during the processing of localized assets or remote project stream files. The lack of bounds checking before the allocation and write operations leads directly to heap corruption.

To illustrate the vulnerability and its remediation, consider the following representation of the native parsing mechanism before and after the application of the Microsoft patch.

// VULNERABLE IMPLEMENTATION
void ParseResourceStream(char* sourceStream, unsigned int streamSize) {
    // Reading the length header from the stream
    unsigned short declaredLength = *(unsigned short*)sourceStream;
    
    // Allocating a fixed buffer size on the heap based on assumptions
    char* heapBuffer = (char*)malloc(FIXED_BUFFER_SIZE);
    if (heapBuffer == NULL) return;
 
    // Vulnerable copy: fails to validate if declaredLength exceeds FIXED_BUFFER_SIZE
    // This allows an attacker to overwrite memory beyond the allocated 1024 bytes
    memcpy(heapBuffer, sourceStream + sizeof(unsigned short), declaredLength);
    
    ProcessData(heapBuffer);
    free(heapBuffer);
}

The patch introduces strict validation of the incoming payload length against both the allocated buffer and maximum boundaries, preventing the heap corruption.

// PATCHED IMPLEMENTATION
void ParseResourceStream(char* sourceStream, unsigned int streamSize) {
    if (streamSize < sizeof(unsigned short)) return;
 
    unsigned short declaredLength = *(unsigned short*)sourceStream;
    
    // Remediation: Ensure the declared length does not exceed stream size or buffer limit
    if (declaredLength > FIXED_BUFFER_SIZE || (declaredLength + sizeof(unsigned short)) > streamSize) {
        // Reject processing immediately to prevent buffer overflow
        return;
    }
 
    char* heapBuffer = (char*)malloc(FIXED_BUFFER_SIZE);
    if (heapBuffer == NULL) return;
 
    // Safe copy operation confined within the allocated heap boundaries
    memcpy(heapBuffer, sourceStream + sizeof(unsigned short), declaredLength);
    
    ProcessData(heapBuffer);
    free(heapBuffer);
}

Exploitation Methodology

Exploitation of CVE-2026-69522 requires the delivery of a malformed data structure to a vulnerable .NET runtime or Visual Studio environment. In a typical client-side attack scenario, an attacker crafts a malicious localized resource file (.resx), project configuration file, or solution file. This asset is then integrated into a public repository or delivered directly to the target user.

Once the developer opens the corrupted solution folder or clones the repository, Visual Studio automatically initiates design-time compilation and resource loading. During this parsing sequence, the native module processes the malformed stream, triggering the heap overflow. The application's process context is corrupted, allowing the attacker's shellcode to run.

For server-side .NET applications, exploitation depends on whether the application parses serialized remote payloads or incoming network packets via vulnerable components. An attacker sends a crafted network stream directly to the application socket, triggering the heap-based buffer overflow remotely. Because no privileges are required to connect to the public endpoint, this vector represents a significant risk to unpatched internet-exposed applications.

Threat & Impact Assessment

The security impact of CVE-2026-69522 is severe, as successful exploitation results in arbitrary code execution in the context of the running application. On developer workstations, this allows attackers to compromise sensitive intellectual property, steal credentials, or establish persistence within corporate networks. The compromise of a developer machine often serves as a stepping stone for supply chain attacks.

In server environments, an attacker could exploit the flaw to execute code under the service account of the .NET application. If the application is configured to run with elevated privileges, the attacker gains immediate control of the host operating system. This could lead to data exfiltration from connected database backends or the modification of sensitive production services.

The CVSS v3.1 base score of 8.8 reflects high severity. The metrics emphasize that the attack vector is network-based (AV:N), complexity is low (AC:L), and no privileges are required (PR:N). However, because exploitation relies on the victim opening a file or establishing a malicious connection, user interaction is marked as required (UI:R).

Remediation & Defensive Strategies

The primary remediation strategy is the immediate deployment of security updates provided by Microsoft. Developers should verify that all installations of Visual Studio are updated to version 17.14.40 (for Visual Studio 2022) or 18.9.3 (for Visual Studio 2026). Production and development environments running .NET runtimes must be upgraded to 8.0.31, 9.0.20, 10.0.12, or 11.0 RC1.

For environments where immediate patching is not possible, local mitigations must be implemented to minimize the attack surface. Administrators should enforce strict Trust Settings within Visual Studio, preventing automatic build actions or design-time parsing for folders located on untrusted network shares. This prevents the execution of malicious templates upon simply opening a workspace.

Additionally, organizations should restrict egress network connections from developer environments to untrusted external NuGet feeds or repositories. Security teams should deploy application control policies and monitor system behavior for anomalies originating from devenv.exe or standard .NET host processes. These measures help isolate development environments from potential lateral movement or initial access vectors.

Official Patches

MicrosoftMicrosoft Security Advisory for CVE-2026-69522

Technical Appendix

CVSS Score
8.8/ 10
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
EPSS Probability
0.80%
Top 45% most exploited

Affected Systems

Microsoft .NET Runtime 8.0Microsoft .NET Runtime 9.0Microsoft .NET Runtime 10.0Microsoft .NET Framework 3.5Microsoft .NET Framework 4.6.2Microsoft .NET Framework 4.7Microsoft .NET Framework 4.8Microsoft .NET Framework 4.8.1Microsoft Visual Studio 2022Microsoft Visual Studio 2026

Affected Versions Detail

Product
Affected Versions
Fixed Version
.NET
Microsoft
>= 8.0.0, < 8.0.318.0.31
.NET
Microsoft
>= 9.0.0, < 9.0.209.0.20
.NET
Microsoft
>= 10.0.0, < 10.0.1210.0.12
Visual Studio 2022
Microsoft
>= 17.14.0, < 17.14.4017.14.40
Visual Studio 2026
Microsoft
>= 18.9.0, < 18.9.318.9.3
AttributeDetail
CWE IDCWE-122
Attack VectorNetwork (AV:N)
CVSS Score8.8
EPSS Score0.00805 (Percentile: 54.60%)
Exploit StatusNo public PoC available
KEV StatusNot listed
ImpactRemote Code Execution

MITRE ATT&CK Mapping

T1203Exploitation for Client Execution
Execution
T1211Exploitation for Defense Evasion
Defense Evasion
T1068Exploitation for Privilege Escalation
Privilege Escalation
CWE-122
Heap-based Buffer Overflow

A heap-based buffer overflow condition occurs when a buffer that is allocated in the heap memory space is written to with more data than it can hold.

References & Sources

  • [1]Microsoft Update Guide
  • [2]CVE.org Official Record

Attack Flow Diagram

Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.

More Reports

•about 2 hours ago•CVE-2026-115895
8.8

CVE-2026-115895: Code Injection via Unsanitized Import Alias in Happy DOM ECMAScript Module Compiler

CVE-2026-115895 is a high-severity code injection vulnerability (CWE-94) in the happy-dom npm package prior to version 21.0.4. The vulnerability exists within the ECMAScriptModuleCompiler component, which transforms ECMAScript module syntax into executable Node.js functions when JavaScript evaluation is enabled. Due to an incomplete fix for CVE-2026-33943, the compiler failed to validate local named import aliases against legal JavaScript identifier rules. Attackers supplying crafted module imports—specifically utilizing destructuring default initializers alongside JSON module attributes—can inject arbitrary JavaScript expressions directly into the host Node.js runtime context.

Amit Schendel
Amit Schendel
3 views•10 min read
•about 3 hours ago•CVE-2026-115883
6.0

CVE-2026-115883: Cross-Namespace Access via Dot-Delimited Labels in LangGraph Postgres and SQLite Stores

An improper input validation and authorization bypass vulnerability exists in the LangGraph storage layer affecting langgraph, langgraph-checkpoint-postgres, and langgraph-checkpoint-sqlite. Because relational store implementations serialize namespace tuples into dot-delimited strings without validating labels on read, search, delete, and batch operations, an attacker who controls a namespace label can inject periods (.) to traverse namespace boundaries and access, modify, or delete data belonging to other namespaces.

Amit Schendel
Amit Schendel
3 views•9 min read
•about 4 hours ago•CVE-2026-115886
6.5

CVE-2026-115886: Unauthenticated Server-Side Request Forgery and Unsafe Reflection in MLflow Scorer Evaluation Endpoints

CVE-2026-115886 (GHSA-2wqp-q3c6-ccj5) is a Server-Side Request Forgery (SSRF) and Unsafe Reflection vulnerability in MLflow versions 3.12.0rc0 prior to 3.17.0. Unauthenticated REST API endpoints accept serialized third-party scorer JSON payloads that are dynamically deserialized and reflectively instantiated without sanitizing constructor keyword arguments. When optional dependencies such as trulens and trulens-providers-litellm are installed, attackers can inject egress-steering arguments into the scorer payload, forcing the MLflow server to dispatch outbound HTTP requests to arbitrary internal destinations or cloud metadata services.

Alon Barad
Alon Barad
4 views•10 min read
•about 5 hours ago•CVE-2026-113872
7.5

CVE-2026-113872: Unauthenticated Process Crash in Express Multer via Late Busboy Stream Resumption

CVE-2026-113872 (GHSA-q7qp-rjg7-q26m) is a high-severity denial-of-service vulnerability affecting the multer multipart/form-data upload middleware for Node.js and Express in versions 2.0.0 through 2.4.0. When an endpoint is configured to accept multiple files using an asynchronous fileFilter callback, a crafted, truncated multipart HTTP request can trigger an unhandled error event on the underlying busboy stream parser after request teardown has already completed. Because all error listeners are stripped during teardown, Node.js treats the resulting error event as an uncaught exception and immediately terminates the server process.

Amit Schendel
Amit Schendel
6 views•12 min read
•about 6 hours ago•CVE-2026-115897
2.1

CVE-2026-115897: Cross-Site Scripting via Function Body Boundary Bypass in serialize-javascript

CVE-2026-115897 (also tracked as GHSA-m5mm-p8h7-m29v and aliased as CVE-2026-115754) is a Cross-Site Scripting (XSS) vulnerability in the Yahoo serialize-javascript npm package prior to version 7.1.3. The flaw exists in the regular expression used by escapeFunctionBody() to neutralize HTML script closing tags within serialized JavaScript functions. Because function bodies are sanitized in isolation before structural formatting is applied, a function whose string representation terminates directly with the sequence '</script' bypasses the positive lookahead check. When combined with serialization formatting options that introduce whitespace delimiters and a subsequent property that supplies a closing bracket, an attacker can prematurely terminate an enclosing HTML <script> block and inject arbitrary HTML or JavaScript into the rendered document.

Amit Schendel
Amit Schendel
6 views•13 min read
•about 7 hours ago•CVE-2026-109841
5.9

CVE-2026-109841: Subresource Integrity Verification Bypass in Node.js Undici

CVE-2026-109841 is a Subresource Integrity (SRI) verification bypass vulnerability in undici, the official HTTP/1.1 and HTTP/2 client library for Node.js that powers the global fetch() implementation. The flaw stems from improper handling of case sensitivity (CWE-178) when validating cryptographic hash algorithm tokens within SRI metadata. Because undici compared incoming algorithm identifiers against a strictly lowercase set without prior ASCII-lowercase normalization, valid uppercase or mixed-case tokens such as SHA256- or Sha384- were treated as unrecognized algorithms and discarded. Under SRI forward-compatibility rules, discarding all provided tokens results in an empty integrity list, causing undici to fail open and accept tampered HTTP response bodies without cryptographic verification.

Alon Barad
Alon Barad
5 views•9 min read