Skip to main content

Metalama.Framework CVE-2026-62848

| EUVDEUVD-2026-114449 HIGH
Deserialization of Untrusted Data (CWE-502)
2026-10-30 GitHub_M
7.3
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Gain local code execution as same logged-in user
  2. Delivery
    Connect to predictable Metalama named pipe
  3. Exploit
    Send crafted typed serialization payload
  4. Execution
    Deserializer instantiates arbitrary gadget-chain CLR types
  5. Impact
    Execute arbitrary code inside Visual Studio process

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V1 - Encoding and Sanitization Safe deserialization, type allowlists
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires an attacker already running code as the same logged-in Windows user, and a running Visual Studio session that loads the affected Metalama integration - the Metalama.Framework design-time RPC (< 2026.1.19, and branch fixes 2025.1.18 / 2026.0.25), the maintained PostSharpTechnologies.PostSharp 'Metalama + PostSharp' extension 2024.1 through 2026.1.4, or the retired PostSharpTechnologies.Metalama or caravela extensions. The attacker must write to the named pipe Metalama_{role}_{processId}_{hash(PackageVersion)}, whose name is derivable from the public package version and a locally-enumerable process id. Limiting factors: the default Windows pipe ACL restricts writers to the same user (no privilege escalation, no boundary crossing), exploitation needs a developer actually running Visual Studio (UI:R), and command-line/MSBuild-only builds do not use the channel and are not exploitable. Earlier Metalama-free PostSharp versions (before the 2024.1 merge) are unaffected.

Impact

This is a CWE-502 unsafe-deserialization flaw in Metalama's Visual Studio named-pipe channel, scored CVSS 7.3 (High) with vector AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H. The local attack vector (AV:L) and PR:L are the dominant risk-limiters: the pipe is created with the default Windows ACL, so only same-user processes can write to it, meaning an attacker must already be executing code as the logged-in developer. There is no privilege escalation and no security boundary crossed, which is why the vendor explicitly rates practical severity as Medium despite the High base score - the real value to an attacker is lateral movement/persistence inside an already same-user-compromised session, not initial access. No EPSS score was provided and the CVE is not in CISA KEV, so there is no signal of widespread or active exploitation; exploitation status is 'no public exploit identified at time of analysis' (the supplied references are the advisory, fix PR #1651 and fix commits, not exploit code). The vuln.today decision label is 'this_week' (not act_now/emergency), consistent with a patch-promptly-but-not-emergency posture. Signals are consistent rather than conflicting: high technical impact (C:H/I:H/A:H within the process) but constrained reach (local, same-user, requires a running VS session). Note the CVSS base score (7.3 High) overstates real-world urgency relative to the vendor's Medium practical rating because the base metric set does not credit the same-user precondition.

Exploit ScenarioDerived

An attacker who already has code execution as the logged-in developer (e.g., commodity malware or another local same-user process) connects to Metalama's predictably-named Visual Studio named pipe (Metalama_{role}_{processId}_{hash(PackageVersion)}) while Visual Studio is open and sends a crafted message. Because the channel deserializes with Newtonsoft.Json TypeNameHandling.All (2023.0 through 2026.0.x) or typeless MessagePack (2026.1.0 through 2026.1.18) and instantiates arbitrary CLR types with no allow-list, a gadget chain yields arbitrary code execution inside the devenv, out-of-process Roslyn, or CodeLens process. No public exploit code was identified in the provided data, though the advisory itself notes the TypeNameHandling.All primitive has publicly available gadget chains (e.g., ysoserial.net).

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 30, 2026

Unsafe deserialization in Metalama's Visual Studio design-time named-pipe channel lets a process already running as the same logged-in Windows user send a crafted message that instantiates arbitrary .NET types and achieves code execution inside devenv, the out-of-process Roslyn code-analysis process, or the CodeLens process. Affected are Metalama.Framework NuGet releases from 2023.0.101-rc onward (fixed in 2025.1.18, 2026.0.25 and 2026.1.19), the maintained 'Metalama + PostSharp' Visual Studio extension 2024.1 through 2026.1.4 (fixed in 2026.1.5), and all versions of the retired Metalama and Caravela extensions, which will not be patched. Because default Windows pipe ACLs only allow same-user writers, this is not a privilege escalation and command-line/MSBuild-only builds are unaffected; no public exploit code is identified at time of analysis and there is no CISA KEV entry.

RemediationAI

Vendor-released patches exist: upgrade Metalama.Framework to 2026.1.19, or to the branch backports 2025.1.18 or 2026.0.25 (https://github.com/metalama/Metalama/releases/tag/release/2026.1.19, /release/2026.0.25, /release/2025.1.18); update the maintained 'Metalama + PostSharp' Visual Studio extension to 2026.1.5, which bundles Metalama 2026.1.19. The retired PostSharpTechnologies.Metalama and PostSharpTechnologies.caravela extensions will not be fixed and must be uninstalled, with users migrating to PostSharpTechnologies.PostSharp 2026.1.5 or later. Because the channel is only used by the Visual Studio integration, avoiding the affected VS integration (command-line/MSBuild-only builds) does not exercise the vulnerable path, at the cost of losing design-time CodeLens and code-analysis features; restricting pipe writes to the current user is already the default ACL behavior and the fix additionally enforces it, so ACL hardening is not an alternative to patching. Per the advisory the fix PR is https://github.com/metalama/Metalama/pull/1651.

Affected VersionsENISA

Metalama 2025.2.0-preview, ≤ 2025.2.5-rc
Metalama 2023.0.101-rc, < 2025.1.18
Metalama 2026.1.0-preview, < 2026.1.19
Metalama 2026.0.0-preview, < 2026.0.25

Affected Packages

euvd metalama fix: 2025.1.18, 2026.0.25, 2026.1.19

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Metalama is a Roslyn-based C

pattern/architecture toolkit whose Visual Studio integration uses Windows local named pipes to exchange messages between devenv, the out-of-process code-analysis process, and the CodeLens process, over the predictable name Metalama_{role}_{processId}_{hash(PackageVersion)}. The root cause is CWE-502 (with CWE-913 also assigned): the wire formatter embeds and reconstructs CLR type names without an allow-list. Releases from the first public 2023.0 line through 2026.0.x use Newtonsoft.Json with TypeNameHandling.All; the later SerializationBinder only remapped assembly names, and its BindToType called assembly.GetType(typeName) on arbitrary wire-supplied names, giving a gadget-chain primitive comparable to BinaryFormatter (public chains such as ysoserial.net exist). Releases 2026.1.0 through 2026.1.18 switched the pipe to typeless MessagePack using TypelessObjectResolver, which likewise instantiates arbitrary types with no allow-list. The fix (commit d97f52e1b5, PR #1651) wraps type-name deserialization in RpcContractMessagePackOptions enforcing a closed per-type [RpcContract] allow-list via JsonSerializationAllowList - keyed by assembly simple name plus full type name, validating array elements and every generic type argument recursively, always permitting primitives and enums - and restricts pipe access to the current user.

Know when Metalama gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 7.3 HIGH
AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H
vuln.today AI 7.3 HIGH

Local same-user process must write to the pipe (AV:L, PR:L) with a developer running Visual Studio (UI:R); arbitrary code execution gives full C/I/A within the process with no scope change (S:U).

3.1 AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H
4.0 AV:L/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

2
Patch available
Oct 30, 2026 - 22:03 EUVD
CVE Published
Oct 30, 2026 - 20:19 cve.org
HIGH 7.3

DescriptionCVE.org

Metalama is a Roslyn-based open-source patterns and architecture toolkit for C#. From 2023.0.101-rc until 2025.1.18, 2026.0.25 and 2026.1.19, the Windows Visual Studio integration deserializes local named-pipe messages without restricting which CLR types can be instantiated. The pipe connects devenv, the out-of-process Roslyn code-analysis process and the CodeLens process, and has the predictable name Metalama_{role}_{processId}_{hash(PackageVersion)}. Releases from the first public 2023.0 line through 2026.0.x use Newtonsoft.Json with TypeNameHandling.All; the later SerializationBinder only remaps assembly names, and BindToType resolves arbitrary wire-supplied types without an allow-list. Releases 2026.1.0 through 2026.1.18 use typeless MessagePack with TypelessObjectResolver and likewise instantiate arbitrary types. A same-user local process able to write to the pipe can send crafted messages that lead to arbitrary code execution with confidentiality, integrity and availability impacts inside the affected Visual Studio process. Default Windows pipe ACLs limit writers to the same logged-in user, so this does not escalate privileges or cross a security boundary; command-line and MSBuild-only builds do not use the channel. The maintained Metalama + PostSharp extension is affected from 2024.1 through 2026.1.4, while earlier Metalama-free PostSharp versions are unaffected. The retired Metalama and Caravela extensions remain affected and require removal or migration. The framework issue is fixed in versions 2025.1.18, 2026.0.25 and 2026.1.19; the maintained Metalama + PostSharp Visual Studio extension is fixed in version 2026.1.5. The retired Metalama and Caravela extensions require removal or migration.

Technical POC Analysis

CWE-502 (Deserialization of Untrusted Data), with CWE-913 as the secondary classification: the receiver instantiates types named on the wire without any allow-list.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

CVE-2026-62848 is a high-severity deserialization vulnerability in Metalama's Visual Studio tooling that could allow a malicious process running under the same user account to execute code inside the developer's IDE. Engineering and development teams using affected Metalama NuGet packages or Visual Studio extensions are at risk, though exploitation requires local access and does not cross privilege boundaries.

Business Impact: Medium
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 92% exploitable
Prevalence
Low
niche Roslyn-based C# metaprogramming toolkit, developer-tooling-only footprint
Data Quality
3 sources
Confidence: Low

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact
Medium

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Insecure deserialization occurs when an application converts serialized data (a stream of bytes representing an object's state) back into a living object without proper validation.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy