CVE-2026-62847

CVE-2026-62847 is a medium-severity security vulnerability in Metalama.Framework (nuget), affecting versions >= 2026.1.0-preview, < 2026.1.19. It is fixed in 2026.1.19, 2025.1.18, 2026.0.25.

Does this CVE actually affect you?

Kodem shows which CVEs are reachable and running in your applications, so you fix what's exploitable, not just what's listed.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Runtime intelligence, not another scanner.

Summary

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

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 executable tools that Metalama extracts to a local directory and then launches;
  • embedded .NET helper assemblies that Metalama extracts to a local directory and loads into the build / IDE process.

Affected configurations

  • Linux and macOS, default configuration, affected. The shipped default uses the world-writable system temp directory.
  • Windows, default configuration, not affected. The default per-user temporary directory is protected by OS ACLs, so cross-user planting is not possible.
  • The METALAMA_TEMP environment variable is a deployer-controlled override and is out of scope: pointing it at an insecure (e.g. world-writable or attacker-owned) location is a deployment misconfiguration, not a defect in the product.

Severity

CVSS v3.1: AV:L/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H = 8.2 (High) for the affected POSIX default configuration (Scope:Changed reflects the cross-user privilege escalation).

CVSS v4.0 cross-check: CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:P/VC:L/VI:H/VA:L/SC:L/SI:H/SA:H = 6.0 (Medium), which more granularly attributes low impact to the cache itself and high impact to the subsequent build process. The honest range is therefore Medium-High depending on the scoring model and platform.

Weaknesses

  • CWE-377: Insecure Temporary File
  • CWE-427: Uncontrolled Search Path Element

Affected packages

  • Metalama.Framework < 2026.1.19,
  • Metalama.Tool < 2026.1.19

Internal tracking: metalama/Metalama#1650.

Impact

Arbitrary code execution in the security context of the building user, i.e. a local privilege escalation across user accounts on shared POSIX systems (multi-user developer machines, CI/build agents). The attacker obtains code execution as the victim without holding the victim's privileges, and can read source/secrets, tamper with build output (supply-chain injection), or disrupt builds.

CVE-2026-62847 has a CVSS score of 8.2 (Medium). The vector is requires local access, low privileges required, and user interaction required. A CVSS score reflects the worst-case severity of the vulnerability, not your specific exposure. Whether this affects your application depends on whether the vulnerable code is present and reachable in your environment. A fixed version is available (2026.1.19, 2025.1.18, 2026.0.25); upgrading removes the vulnerable code path.

Affected versions

Metalama.Framework (>= 2026.1.0-preview, < 2026.1.19) Metalama.Tool (>= 2026.1.0-preview, < 2026.1.19) Metalama.Framework (< 2025.1.18) Metalama.Tool (< 2025.1.18) Metalama.Tool (>= 2026.0.0-preview, < 2026.0.25) Metalama.Framework (>= 2026.0.0-preview, < 2026.0.25)

Security releases

Metalama.Framework → 2026.1.19 (nuget) Metalama.Tool → 2026.1.19 (nuget) Metalama.Framework → 2025.1.18 (nuget) Metalama.Tool → 2025.1.18 (nuget) Metalama.Tool → 2026.0.25 (nuget) Metalama.Framework → 2026.0.25 (nuget)

Kodem intelligence

Severity tells you how bad this could be in the worst case. It does not tell you whether you are exposed. Exploitability and impact are functions of runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A vulnerable package can sit in your dependency tree and never run.

Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter. Kodem's runtime-powered SCA identifies whether this CVE is reachable in your applications.

Already deployed Kodem?

See it in your environmentNew to Kodem? Get a demo →

Remediation advice

Caches and extraction directories were relocated from the world-writable system temp directory to per-user application-data locations ($XDG_CACHE_HOME / ~/.cache/Metalama on POSIX), relying on OS-enforced per-user ownership as the trust boundary. Fixed in 2026.1.19.

Frequently Asked Questions

  1. What is CVE-2026-62847? CVE-2026-62847 is a medium-severity security vulnerability in Metalama.Framework (nuget), affecting versions >= 2026.1.0-preview, < 2026.1.19. It is fixed in 2026.1.19, 2025.1.18, 2026.0.25.
  2. How severe is CVE-2026-62847? CVE-2026-62847 has a CVSS score of 8.2 (Medium). This score reflects the worst-case severity of the vulnerability, not your specific exposure. Whether it represents real risk in your environment depends on whether the vulnerable code is present and reachable.
  3. Which packages are affected by CVE-2026-62847?
    • Metalama.Framework (nuget) (versions >= 2026.1.0-preview, < 2026.1.19)
    • Metalama.Tool (nuget) (versions >= 2026.1.0-preview, < 2026.1.19)
  4. Is there a fix for CVE-2026-62847? Yes. CVE-2026-62847 is fixed in 2026.1.19, 2025.1.18, 2026.0.25. Upgrade to this version or later.
  5. Is CVE-2026-62847 exploitable, and should I be worried? Whether CVE-2026-62847 is exploitable in your environment depends on whether the vulnerable code is present and reachable. A CVSS score is a worst-case rating; it does not account for your specific deployment, configuration, or usage patterns. Kodem, an Intelligent Application Security platform, uses runtime intelligence to show which vulnerabilities actually execute in production, so you can focus on the ones that represent real risk. Get a demo
  6. What actually determines whether CVE-2026-62847 is exploitable, and how bad it is? Exploitability and impact are not fixed properties of a CVE. They depend on runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A high CVSS score on a dependency that never runs is not the same as real risk. Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter.
  7. How do I fix CVE-2026-62847?
    • Upgrade Metalama.Framework to 2026.1.19 or later
    • Upgrade Metalama.Tool to 2026.1.19 or later
    • Upgrade Metalama.Framework to 2025.1.18 or later
    • Upgrade Metalama.Tool to 2025.1.18 or later
    • Upgrade Metalama.Tool to 2026.0.25 or later
    • Upgrade Metalama.Framework to 2026.0.25 or later

Other vulnerabilities in Metalama.Framework

Stop the waste.
Protect your environment with Kodem.