Medium, CVSS 6.0NuGetAmendedPublished
Metalama allows local code execution through DLL planting in shared temporary directories
CVE-2026-62847 · GHSA-m6wq-39m7-9xpp
- Affected
- NuGet metalama.tool >= 2026.1.0-preview, < 2026.1.19; < 2025.1.18; >= 2026.0.0-preview, < 2026.0.25
- Fixed in
- 2026.0.252026.1.192025.1.18· Vendor fix available
- Issue
- Metalama loaded and executed compile-time assemblies, auxiliary executable tools, and embedded helper assemblies from predictable temporary directories. On Linux and macOS the default cache location was the world-writable system temporary directory (Path.GetTempPath(), i.e. /tmp), and previously-generated artifacts were trusted based on the presence of a sentinel/.completed marker file rather than on any integrity verification. A local, unprivileged user on a shared machine or CI/build agent can pre-create the deterministic cache directory structure and plant a malicious DLL together with the matching sentinel file. When a higher-privileged user (or build/service account) subsequently runs a build, Metalama finds the sentinel, skips regeneration, and loads and executes the attacker-supplied assembly inside the compiler / IDE / MSBuild process. Affected load-and-execute paths: - the cache of compile-time assemblies that Metalama generates from your aspects; - auxiliary…
Recommended action: Upgrade to 2026.1.19, 2026.0.25 or 2025.1.18 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.