Search
Find a vulnerability
Search criteria
4 vulnerabilities found for Metalama by metalama
CVE-2026-62848 (GCVE-0-2026-62848)
Vulnerability from nvd – Published: 2026-10-30 20:19 – Updated: 2026-10-30 20:19
VLAI
EPSS
VEX
Title
Metalama's Visual Studio inter-process named pipe allows unsafe deserialization that enables local code execution
Summary
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.
Severity
7.3 (High)
CWE
Assigner
References
7 references
| URL | Tags |
|---|---|
| https://github.com/metalama/Metalama/security/adv… | x_refsource_CONFIRM |
| https://github.com/metalama/Metalama/pull/1651 | x_refsource_MISC |
| https://github.com/metalama/Metalama/commit/5b4ce… | x_refsource_MISC |
| https://github.com/metalama/Metalama/commit/d97f5… | x_refsource_MISC |
| https://github.com/metalama/Metalama/releases/tag… | x_refsource_MISC |
| https://github.com/metalama/Metalama/releases/tag… | x_refsource_MISC |
| https://github.com/metalama/Metalama/releases/tag… | x_refsource_MISC |
Impacted products
{
"containers": {
"cna": {
"affected": [
{
"product": "Metalama",
"vendor": "metalama",
"versions": [
{
"status": "affected",
"version": "\u003e= 2023.0.101-rc, \u003c 2025.1.18"
},
{
"status": "affected",
"version": "\u003e= 2025.2.0-preview, \u003c= 2025.2.5-rc"
},
{
"status": "affected",
"version": "\u003e= 2026.0.0-preview, \u003c 2026.0.25"
},
{
"status": "affected",
"version": "\u003e= 2026.1.0-preview, \u003c 2026.1.19"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "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."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "LOCAL",
"availabilityImpact": "HIGH",
"baseScore": 7.3,
"baseSeverity": "HIGH",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "LOW",
"scope": "UNCHANGED",
"userInteraction": "REQUIRED",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H",
"version": "3.1"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-502",
"description": "CWE-502: Deserialization of Untrusted Data",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-913",
"description": "CWE-913: Improper Control of Dynamically-Managed Code Resources",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-30T20:19:55.876Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/metalama/Metalama/security/advisories/GHSA-h26j-4vp7-x9w2",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/metalama/Metalama/security/advisories/GHSA-h26j-4vp7-x9w2"
},
{
"name": "https://github.com/metalama/Metalama/pull/1651",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/metalama/Metalama/pull/1651"
},
{
"name": "https://github.com/metalama/Metalama/commit/5b4ced29f2b25631cc2e44d05b0fd5fe838b6cbe",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/metalama/Metalama/commit/5b4ced29f2b25631cc2e44d05b0fd5fe838b6cbe"
},
{
"name": "https://github.com/metalama/Metalama/commit/d97f52e1b53ffe4176b2b05c56ffdf1ccd2f53a9",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/metalama/Metalama/commit/d97f52e1b53ffe4176b2b05c56ffdf1ccd2f53a9"
},
{
"name": "https://github.com/metalama/Metalama/releases/tag/release/2025.1.18",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/metalama/Metalama/releases/tag/release/2025.1.18"
},
{
"name": "https://github.com/metalama/Metalama/releases/tag/release/2026.0.25",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/metalama/Metalama/releases/tag/release/2026.0.25"
},
{
"name": "https://github.com/metalama/Metalama/releases/tag/release/2026.1.19",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/metalama/Metalama/releases/tag/release/2026.1.19"
}
],
"source": {
"advisory": "GHSA-h26j-4vp7-x9w2",
"discovery": "UNKNOWN"
},
"title": "Metalama\u0027s Visual Studio inter-process named pipe allows unsafe deserialization that enables local code execution"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-62848",
"datePublished": "2026-10-30T20:19:55.876Z",
"dateReserved": "2026-07-14T21:10:50.031Z",
"dateUpdated": "2026-10-30T20:19:55.876Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-62847 (GCVE-0-2026-62847)
Vulnerability from nvd – Published: 2026-10-30 20:23 – Updated: 2026-10-30 22:13
VLAI
EPSS
VEX
Title
Metalama: Local code execution via DLL planting in world-writable temporary directories (Linux/macOS)
Summary
Metalama is a Roslyn-based open-source patterns and architecture toolkit for C#. Prior to 2025.1.18, 2026.0.25 and 2026.1.19, Metalama.Framework and Metalama.Tool load and execute compile-time assemblies, auxiliary executable tools and embedded helper assemblies from predictable temporary directories. On `Linux` and `macOS`, the default `Path.GetTempPath()` location is world-writable, and existing artifacts are trusted based on sentinel or `.completed` marker files rather than integrity verification. A local unprivileged user on a shared machine or CI/build agent can pre-create the deterministic directory structure and plant a malicious DLL with the matching sentinel. When a higher-privileged developer or build account subsequently builds, Metalama skips regeneration and executes the planted artifact in the compiler, IDE or MSBuild process as the building user. This permits cross-user privilege escalation, reading source and secrets, supply-chain tampering with build output, or disrupting builds. Default Windows per-user temporary directories are protected by ACLs and are not affected. Deployer-selected insecure cache locations are outside the vulnerability's scope. This issue is fixed in versions 2025.1.18, 2026.0.25 and 2026.1.19.
Severity
8.2 (High)
SSVC
Exploitation: none
Automatable: no
Technical Impact: total
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-10-30 21:21 UTC
Assigner
References
7 references
| URL | Tags |
|---|---|
| https://github.com/metalama/Metalama/security/adv… | x_refsource_CONFIRM |
| https://github.com/metalama/Metalama/pull/1650 | x_refsource_MISC |
| https://github.com/metalama/Metalama/commit/09911… | x_refsource_MISC |
| https://github.com/metalama/Metalama/commit/92c4f… | x_refsource_MISC |
| https://github.com/metalama/Metalama/releases/tag… | x_refsource_MISC |
| https://github.com/metalama/Metalama/releases/tag… | x_refsource_MISC |
| https://github.com/metalama/Metalama/releases/tag… | x_refsource_MISC |
Impacted products
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-62847",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-10-30T21:21:14.933972Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-10-30T22:13:12.107Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"product": "Metalama",
"vendor": "metalama",
"versions": [
{
"status": "affected",
"version": "\u003c 2025.1.18"
},
{
"status": "affected",
"version": "\u003e= 2025.2.0-preview, \u003c= 2025.2.5-rc"
},
{
"status": "affected",
"version": "\u003e= 2026.0.0-preview, \u003c 2026.0.25"
},
{
"status": "affected",
"version": "\u003e= 2026.1.0-preview, \u003c 2026.1.19"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Metalama is a Roslyn-based open-source patterns and architecture toolkit for C#. Prior to 2025.1.18, 2026.0.25 and 2026.1.19, Metalama.Framework and Metalama.Tool load and execute compile-time assemblies, auxiliary executable tools and embedded helper assemblies from predictable temporary directories. On `Linux` and `macOS`, the default `Path.GetTempPath()` location is world-writable, and existing artifacts are trusted based on sentinel or `.completed` marker files rather than integrity verification. A local unprivileged user on a shared machine or CI/build agent can pre-create the deterministic directory structure and plant a malicious DLL with the matching sentinel. When a higher-privileged developer or build account subsequently builds, Metalama skips regeneration and executes the planted artifact in the compiler, IDE or MSBuild process as the building user. This permits cross-user privilege escalation, reading source and secrets, supply-chain tampering with build output, or disrupting builds. Default Windows per-user temporary directories are protected by ACLs and are not affected. Deployer-selected insecure cache locations are outside the vulnerability\u0027s scope. This issue is fixed in versions 2025.1.18, 2026.0.25 and 2026.1.19."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "LOCAL",
"availabilityImpact": "HIGH",
"baseScore": 8.2,
"baseSeverity": "HIGH",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "LOW",
"scope": "CHANGED",
"userInteraction": "REQUIRED",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H",
"version": "3.1"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-377",
"description": "CWE-377: Insecure Temporary File",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-427",
"description": "CWE-427: Uncontrolled Search Path Element",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-30T20:23:50.882Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/metalama/Metalama/security/advisories/GHSA-m6wq-39m7-9xpp",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/metalama/Metalama/security/advisories/GHSA-m6wq-39m7-9xpp"
},
{
"name": "https://github.com/metalama/Metalama/pull/1650",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/metalama/Metalama/pull/1650"
},
{
"name": "https://github.com/metalama/Metalama/commit/09911349a916e82194b1cfaa6d0a38acad928fc9",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/metalama/Metalama/commit/09911349a916e82194b1cfaa6d0a38acad928fc9"
},
{
"name": "https://github.com/metalama/Metalama/commit/92c4feecfce86d18fcb007ab6d3a1b4383326a2e",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/metalama/Metalama/commit/92c4feecfce86d18fcb007ab6d3a1b4383326a2e"
},
{
"name": "https://github.com/metalama/Metalama/releases/tag/release/2025.1.18",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/metalama/Metalama/releases/tag/release/2025.1.18"
},
{
"name": "https://github.com/metalama/Metalama/releases/tag/release/2026.0.25",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/metalama/Metalama/releases/tag/release/2026.0.25"
},
{
"name": "https://github.com/metalama/Metalama/releases/tag/release/2026.1.19",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/metalama/Metalama/releases/tag/release/2026.1.19"
}
],
"source": {
"advisory": "GHSA-m6wq-39m7-9xpp",
"discovery": "UNKNOWN"
},
"title": "Metalama: Local code execution via DLL planting in world-writable temporary directories (Linux/macOS)"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-62847",
"datePublished": "2026-10-30T20:23:50.882Z",
"dateReserved": "2026-07-14T21:10:50.031Z",
"dateUpdated": "2026-10-30T22:13:12.107Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-62847 (GCVE-0-2026-62847)
Vulnerability from cvelistv5 – Published: 2026-10-30 20:23 – Updated: 2026-10-30 22:13
VLAI
EPSS
VEX
Title
Metalama: Local code execution via DLL planting in world-writable temporary directories (Linux/macOS)
Summary
Metalama is a Roslyn-based open-source patterns and architecture toolkit for C#. Prior to 2025.1.18, 2026.0.25 and 2026.1.19, Metalama.Framework and Metalama.Tool load and execute compile-time assemblies, auxiliary executable tools and embedded helper assemblies from predictable temporary directories. On `Linux` and `macOS`, the default `Path.GetTempPath()` location is world-writable, and existing artifacts are trusted based on sentinel or `.completed` marker files rather than integrity verification. A local unprivileged user on a shared machine or CI/build agent can pre-create the deterministic directory structure and plant a malicious DLL with the matching sentinel. When a higher-privileged developer or build account subsequently builds, Metalama skips regeneration and executes the planted artifact in the compiler, IDE or MSBuild process as the building user. This permits cross-user privilege escalation, reading source and secrets, supply-chain tampering with build output, or disrupting builds. Default Windows per-user temporary directories are protected by ACLs and are not affected. Deployer-selected insecure cache locations are outside the vulnerability's scope. This issue is fixed in versions 2025.1.18, 2026.0.25 and 2026.1.19.
Severity
8.2 (High)
SSVC
Exploitation: none
Automatable: no
Technical Impact: total
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-10-30 21:21 UTC
Assigner
References
7 references
| URL | Tags |
|---|---|
| https://github.com/metalama/Metalama/security/adv… | x_refsource_CONFIRM |
| https://github.com/metalama/Metalama/pull/1650 | x_refsource_MISC |
| https://github.com/metalama/Metalama/commit/09911… | x_refsource_MISC |
| https://github.com/metalama/Metalama/commit/92c4f… | x_refsource_MISC |
| https://github.com/metalama/Metalama/releases/tag… | x_refsource_MISC |
| https://github.com/metalama/Metalama/releases/tag… | x_refsource_MISC |
| https://github.com/metalama/Metalama/releases/tag… | x_refsource_MISC |
Impacted products
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-62847",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-10-30T21:21:14.933972Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-10-30T22:13:12.107Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"product": "Metalama",
"vendor": "metalama",
"versions": [
{
"status": "affected",
"version": "\u003c 2025.1.18"
},
{
"status": "affected",
"version": "\u003e= 2025.2.0-preview, \u003c= 2025.2.5-rc"
},
{
"status": "affected",
"version": "\u003e= 2026.0.0-preview, \u003c 2026.0.25"
},
{
"status": "affected",
"version": "\u003e= 2026.1.0-preview, \u003c 2026.1.19"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Metalama is a Roslyn-based open-source patterns and architecture toolkit for C#. Prior to 2025.1.18, 2026.0.25 and 2026.1.19, Metalama.Framework and Metalama.Tool load and execute compile-time assemblies, auxiliary executable tools and embedded helper assemblies from predictable temporary directories. On `Linux` and `macOS`, the default `Path.GetTempPath()` location is world-writable, and existing artifacts are trusted based on sentinel or `.completed` marker files rather than integrity verification. A local unprivileged user on a shared machine or CI/build agent can pre-create the deterministic directory structure and plant a malicious DLL with the matching sentinel. When a higher-privileged developer or build account subsequently builds, Metalama skips regeneration and executes the planted artifact in the compiler, IDE or MSBuild process as the building user. This permits cross-user privilege escalation, reading source and secrets, supply-chain tampering with build output, or disrupting builds. Default Windows per-user temporary directories are protected by ACLs and are not affected. Deployer-selected insecure cache locations are outside the vulnerability\u0027s scope. This issue is fixed in versions 2025.1.18, 2026.0.25 and 2026.1.19."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "LOCAL",
"availabilityImpact": "HIGH",
"baseScore": 8.2,
"baseSeverity": "HIGH",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "LOW",
"scope": "CHANGED",
"userInteraction": "REQUIRED",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H",
"version": "3.1"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-377",
"description": "CWE-377: Insecure Temporary File",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-427",
"description": "CWE-427: Uncontrolled Search Path Element",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-30T20:23:50.882Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/metalama/Metalama/security/advisories/GHSA-m6wq-39m7-9xpp",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/metalama/Metalama/security/advisories/GHSA-m6wq-39m7-9xpp"
},
{
"name": "https://github.com/metalama/Metalama/pull/1650",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/metalama/Metalama/pull/1650"
},
{
"name": "https://github.com/metalama/Metalama/commit/09911349a916e82194b1cfaa6d0a38acad928fc9",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/metalama/Metalama/commit/09911349a916e82194b1cfaa6d0a38acad928fc9"
},
{
"name": "https://github.com/metalama/Metalama/commit/92c4feecfce86d18fcb007ab6d3a1b4383326a2e",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/metalama/Metalama/commit/92c4feecfce86d18fcb007ab6d3a1b4383326a2e"
},
{
"name": "https://github.com/metalama/Metalama/releases/tag/release/2025.1.18",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/metalama/Metalama/releases/tag/release/2025.1.18"
},
{
"name": "https://github.com/metalama/Metalama/releases/tag/release/2026.0.25",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/metalama/Metalama/releases/tag/release/2026.0.25"
},
{
"name": "https://github.com/metalama/Metalama/releases/tag/release/2026.1.19",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/metalama/Metalama/releases/tag/release/2026.1.19"
}
],
"source": {
"advisory": "GHSA-m6wq-39m7-9xpp",
"discovery": "UNKNOWN"
},
"title": "Metalama: Local code execution via DLL planting in world-writable temporary directories (Linux/macOS)"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-62847",
"datePublished": "2026-10-30T20:23:50.882Z",
"dateReserved": "2026-07-14T21:10:50.031Z",
"dateUpdated": "2026-10-30T22:13:12.107Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-62848 (GCVE-0-2026-62848)
Vulnerability from cvelistv5 – Published: 2026-10-30 20:19 – Updated: 2026-10-30 20:19
VLAI
EPSS
VEX
Title
Metalama's Visual Studio inter-process named pipe allows unsafe deserialization that enables local code execution
Summary
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.
Severity
7.3 (High)
CWE
Assigner
References
7 references
| URL | Tags |
|---|---|
| https://github.com/metalama/Metalama/security/adv… | x_refsource_CONFIRM |
| https://github.com/metalama/Metalama/pull/1651 | x_refsource_MISC |
| https://github.com/metalama/Metalama/commit/5b4ce… | x_refsource_MISC |
| https://github.com/metalama/Metalama/commit/d97f5… | x_refsource_MISC |
| https://github.com/metalama/Metalama/releases/tag… | x_refsource_MISC |
| https://github.com/metalama/Metalama/releases/tag… | x_refsource_MISC |
| https://github.com/metalama/Metalama/releases/tag… | x_refsource_MISC |
Impacted products
{
"containers": {
"cna": {
"affected": [
{
"product": "Metalama",
"vendor": "metalama",
"versions": [
{
"status": "affected",
"version": "\u003e= 2023.0.101-rc, \u003c 2025.1.18"
},
{
"status": "affected",
"version": "\u003e= 2025.2.0-preview, \u003c= 2025.2.5-rc"
},
{
"status": "affected",
"version": "\u003e= 2026.0.0-preview, \u003c 2026.0.25"
},
{
"status": "affected",
"version": "\u003e= 2026.1.0-preview, \u003c 2026.1.19"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "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."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "LOCAL",
"availabilityImpact": "HIGH",
"baseScore": 7.3,
"baseSeverity": "HIGH",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "LOW",
"scope": "UNCHANGED",
"userInteraction": "REQUIRED",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H",
"version": "3.1"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-502",
"description": "CWE-502: Deserialization of Untrusted Data",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-913",
"description": "CWE-913: Improper Control of Dynamically-Managed Code Resources",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-30T20:19:55.876Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/metalama/Metalama/security/advisories/GHSA-h26j-4vp7-x9w2",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/metalama/Metalama/security/advisories/GHSA-h26j-4vp7-x9w2"
},
{
"name": "https://github.com/metalama/Metalama/pull/1651",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/metalama/Metalama/pull/1651"
},
{
"name": "https://github.com/metalama/Metalama/commit/5b4ced29f2b25631cc2e44d05b0fd5fe838b6cbe",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/metalama/Metalama/commit/5b4ced29f2b25631cc2e44d05b0fd5fe838b6cbe"
},
{
"name": "https://github.com/metalama/Metalama/commit/d97f52e1b53ffe4176b2b05c56ffdf1ccd2f53a9",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/metalama/Metalama/commit/d97f52e1b53ffe4176b2b05c56ffdf1ccd2f53a9"
},
{
"name": "https://github.com/metalama/Metalama/releases/tag/release/2025.1.18",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/metalama/Metalama/releases/tag/release/2025.1.18"
},
{
"name": "https://github.com/metalama/Metalama/releases/tag/release/2026.0.25",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/metalama/Metalama/releases/tag/release/2026.0.25"
},
{
"name": "https://github.com/metalama/Metalama/releases/tag/release/2026.1.19",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/metalama/Metalama/releases/tag/release/2026.1.19"
}
],
"source": {
"advisory": "GHSA-h26j-4vp7-x9w2",
"discovery": "UNKNOWN"
},
"title": "Metalama\u0027s Visual Studio inter-process named pipe allows unsafe deserialization that enables local code execution"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-62848",
"datePublished": "2026-10-30T20:19:55.876Z",
"dateReserved": "2026-07-14T21:10:50.031Z",
"dateUpdated": "2026-10-30T20:19:55.876Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}