CVE-2026-62847
Full vulnerability record from the local CVENow database.
Description
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.
View original CVE JSON
{
"id": "CVE-2026-62847",
"sourceIdentifier": "[email protected]",
"published": "2026-10-30T21:17:13.807",
"lastModified": "2026-10-30T21:17:13.807",
"vulnStatus": "Received",
"cveTags": [],
"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's scope. This issue is fixed in versions 2025.1.18, 2026.0.25 and 2026.1.19."
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "metalama",
"product": "Metalama",
"versions": [
{
"version": "< 2025.1.18",
"status": "affected"
},
{
"version": ">= 2025.2.0-preview, <= 2025.2.5-rc",
"status": "affected"
},
{
"version": ">= 2026.0.0-preview, < 2026.0.25",
"status": "affected"
},
{
"version": ">= 2026.1.0-preview, < 2026.1.19",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "[email protected]",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H",
"baseScore": 8.2,
"baseSeverity": "HIGH",
"attackVector": "LOCAL",
"attackComplexity": "LOW",
"privilegesRequired": "LOW",
"userInteraction": "REQUIRED",
"scope": "CHANGED",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"availabilityImpact": "HIGH"
},
"exploitabilityScore": 1.5,
"impactScore": 6.0
}
]
},
"weaknesses": [
{
"source": "[email protected]",
"type": "Primary",
"description": [
{
"lang": "en",
"value": "CWE-377"
},
{
"lang": "en",
"value": "CWE-427"
}
]
}
],
"references": [
{
"url": "https://github.com/metalama/Metalama/commit/09911349a916e82194b1cfaa6d0a38acad928fc9",
"source": "[email protected]"
},
{
"url": "https://github.com/metalama/Metalama/commit/92c4feecfce86d18fcb007ab6d3a1b4383326a2e",
"source": "[email protected]"
},
{
"url": "https://github.com/metalama/Metalama/pull/1650",
"source": "[email protected]"
},
{
"url": "https://github.com/metalama/Metalama/releases/tag/release/2025.1.18",
"source": "[email protected]"
},
{
"url": "https://github.com/metalama/Metalama/releases/tag/release/2026.0.25",
"source": "[email protected]"
},
{
"url": "https://github.com/metalama/Metalama/releases/tag/release/2026.1.19",
"source": "[email protected]"
},
{
"url": "https://github.com/metalama/Metalama/security/advisories/GHSA-m6wq-39m7-9xpp",
"source": "[email protected]"
}
]
}