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.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
metalama Metalama
< 2025.1.18affected>= 2025.2.0-preview, <= 2025.2.5-rcaffected>= 2026.0.0-preview, < 2026.0.25affected>= 2026.1.0-preview, < 2026.1.19affected
References
- https://github.com/metalama/Metalama/security/advisories/GHSA-m6wq-39m7-9xpp ↗
- https://github.com/metalama/Metalama/pull/1650 ↗
- https://github.com/metalama/Metalama/commit/09911349a916e82194b1cfaa6d0a38acad928fc9 ↗
- https://github.com/metalama/Metalama/commit/92c4feecfce86d18fcb007ab6d3a1b4383326a2e ↗
- https://github.com/metalama/Metalama/releases/tag/release/2025.1.18 ↗
- https://github.com/metalama/Metalama/releases/tag/release/2026.0.25 ↗
- https://github.com/metalama/Metalama/releases/tag/release/2026.1.19 ↗