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.
Published: 2026-10-30
Score: 8.2 High
EPSS: n/a
KEV: No
Impact: Local code execution
Action: Immediate Patch
AI Analysis

Impact

Metalama Framework and Metalama Tool read compile‑time assemblies, auxiliary executable tools, and helper DLLs from predictable temporary directories. On Linux and macOS the default Path.GetTempPath() yields a world‑writable directory; Metalama trusts artifacts that contain a sentinel or ".completed" marker without performing integrity checks. The weakness is an insecure temporary file handling flaw (CWE‑377) coupled with an uncontrolled directory traversal or path selection vulnerability (CWE‑427). A local unprivileged user can pre‑create the deterministic directory structure and plant a malicious DLL with the matching sentinel file. When a higher‑privileged developer or build account triggers a build, Metalama skips regeneration and launches the planted DLL within the compiler, IDE or MSBuild process as the building user, enabling cross‑user privilege escalation, source code and secret disclosure, supply‑chain tampering, or build disruptions.

Affected Systems

Affected versions are Metalama Framework and Metalama Tool released before 2025.1.18, 2026.0.25 and 2026.1.19. The vulnerability manifests only on Linux or macOS systems where the default temporary directory is world‑writable; Windows per‑user temp directories are protected by ACLs and are not impacted. Deployer‑selected insecure cache locations are outside the risk scope.

Risk and Exploitability

The CVSS score of 8.2 denotes high severity. EPSS information is not available, and the vulnerability is not listed in the CISA KEV catalog, suggesting no confirmed exploitation yet. The attack vector is local: an unprivileged user on a shared machine or CI environment can plant a DLL in the predictable temp path, and a subsequent privileged build process will execute it. This presents a clear opportunity for privilege escalation and supply‑chain tampering.

Generated by OpenCVE AI on October 30, 2026 at 22:09 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Metalama to version 2025.1.18, 2026.0.25 or 2026.1.19 or a later release that removes temporary‑directory loading from the compiler path.
  • Configure the operating system’s temporary directories to deny write access to non‑privileged users (e.g., adjust umask or set appropriate ACLs on /tmp or the equivalent path).
  • Monitor the temporary directories for unexpected DLL or marker files during build operations and validate that only trusted assemblies are loaded by the compiler or IDE process.

Generated by OpenCVE AI on October 30, 2026 at 22:09 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-m6wq-39m7-9xpp Metalama allows local code execution through DLL planting in shared temporary directories
History

Fri, 30 Oct 2026 20:30:00 +0000

Type Values Removed Values Added
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.
Title Metalama: Local code execution via DLL planting in world-writable temporary directories (Linux/macOS)
Weaknesses CWE-377
CWE-427
References
Metrics cvssV3_1

{'score': 8.2, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-30T22:13:12.107Z

Reserved: 2026-07-14T21:10:50.031Z

Link: CVE-2026-62847

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-30T21:17:13.807

Modified: 2026-10-30T21:17:13.807

Link: CVE-2026-62847

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-30T22:15:14Z

Weaknesses
  • CWE-377

    Insecure Temporary File

  • CWE-427

    Uncontrolled Search Path Element