[ CVE-2026-62847 · Published 30 Oct 2026 ]

Metalama allows local code execution through DLL planting in shared temporary directories

CVSS 8.2 EPSS <1%Fix available

[ Description ]Official 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.

[ Fixes ]Fixes and patches

  • Metalama.Framework 2026.1.19Fixed version · GitHub Advisories · nuget package Metalama.Framework: upgrade to 2026.1.19 or later (affected >= 2026.1.0-preview, < 2026.1.19)
  • Metalama.Tool 2026.1.19Fixed version · GitHub Advisories · nuget package Metalama.Tool: upgrade to 2026.1.19 or later (affected >= 2026.1.0-preview, < 2026.1.19)
  • Metalama.Framework 2025.1.18Fixed version · GitHub Advisories · nuget package Metalama.Framework: upgrade to 2025.1.18 or later (affected < 2025.1.18)
  • Metalama.Tool 2025.1.18Fixed version · GitHub Advisories · nuget package Metalama.Tool: upgrade to 2025.1.18 or later (affected < 2025.1.18)
  • Metalama.Tool 2026.0.25Fixed version · GitHub Advisories · nuget package Metalama.Tool: upgrade to 2026.0.25 or later (affected >= 2026.0.0-preview, < 2026.0.25)
  • Metalama.Framework 2026.0.25Fixed version · GitHub Advisories · nuget package Metalama.Framework: upgrade to 2026.0.25 or later (affected >= 2026.0.0-preview, < 2026.0.25)

[ Packages ]Affected open-source packages

  • Metalama.Framework nugetAffected >= 2026.1.0-preview, < 2026.1.19 · fixed in 2026.1.19 · GHSA-m6wq-39m7-9xpp
  • Metalama.Tool nugetAffected >= 2026.1.0-preview, < 2026.1.19 · fixed in 2026.1.19 · GHSA-m6wq-39m7-9xpp
  • Metalama.Framework nugetAffected < 2025.1.18 · fixed in 2025.1.18 · GHSA-m6wq-39m7-9xpp
  • Metalama.Tool nugetAffected < 2025.1.18 · fixed in 2025.1.18 · GHSA-m6wq-39m7-9xpp
  • Metalama.Tool nugetAffected >= 2026.0.0-preview, < 2026.0.25 · fixed in 2026.0.25 · GHSA-m6wq-39m7-9xpp
  • Metalama.Framework nugetAffected >= 2026.0.0-preview, < 2026.0.25 · fixed in 2026.0.25 · GHSA-m6wq-39m7-9xpp