s2
--:--:--UTC

Searching APEX

Starting…

  1. Searching Threats, IOCs & Threat Intelligence locally
  2. Querying external providers
  3. Asking AI Forensic Validator
  4. Creating new entry from validated hit

0s elapsed

CVE-2026-42795

📛 CVE Title

Symlink Following in Hex Package Export Allows Embedding Files Outside Project Root

Description

Symlink following vulnerability in Gleam's Hex package export allows files outside the project root to be embedded in the generated package tarball. The file collection helpers (gleam_files, native_files, private_files) in compiler-cli/src/fs.rs use follow_links(true) when walking publishable directories such as src/ and priv/. The collected paths are added to the package archive via add_path_to_tar in compiler-cli/src/publish.rs without verifying that the resolved target remains within the project root. A symlink placed under a publishable directory will cause gleam export hex-tarball or gleam publish to embed the contents of the symlink target into the generated Hex package. An attacker with write access to the project repository can place a symlink in src/ or priv/ pointing to an arbitrary file. When a maintainer or CI pipeline runs gleam publish or gleam export hex-tarball, local files readable by the publisher (such as secrets, tokens, or SSH keys) are silently embedded into the published package artifact. This issue affects Gleam from 0.10.0-rc1 until 1.17.0.

Overview

State
PUBLISHED
Assigner (CNA)
EEF
CVSS severity
MEDIUM
CVSS score
CVSS 5.1 / 10 5.1 5.1 / 10
CVSS vector
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:A/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Effective score
5.1 / 10 MEDIUM source: CNA overview
CWE(s)
CWE-59
Reserved
2026-04-29
Published
2026-06-02 13:41 UTC
Last updated
2026-06-02 19:14 UTC
Source
https://raw.githubusercontent.com/CVEProject/cvelistV5/main/cves/2026/42xxx/CVE-2026-42795.json
Linked Threat
CVE-2026-42795 — CVE-2026-42795

NVD triage scoring NVD CVE 2.0

Layer NVD adds on top of the CNA's CVE record — published / last-modified timestamps, exploitability / impact subscores, and the FIRST.org EPSS probability that this CVE will be exploited in the wild in the next 30 days.

NVD published
2026-06-02 14:16:53 UTC
NVD last modified
2026-07-22 19:10:00 UTC
EPSS score
0.0013 (probability of exploitation in next 30 days)
EPSS percentile
3.15% vs all CVEs — higher = more likely to be exploited, as of 2026-07-28

NVD / KEV / EPSS data refreshed 2026-07-28 14:52 UTC. Re-run the 🛰 Backfill from NVD button above to refresh.

European Union Vulnerability Database ENISA EUVD

ENISA's official EU repository for curated vulnerability intelligence. Carries a separate identifier (EUVD-YYYY-NNNN) and frequently exposes an earlier-published description + CVSS than NVD does.

EUVD ID
EUVD-2026-33928
Assigner
EEF
Published
Jun 2, 2026, 1:41:39 PM
Updated
Jun 2, 2026, 7:14:25 PM
EUVD base score (CVSS 4.0)
5.1 / 10
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:A/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
EUVD-reported EPSS
0.1300
Vendors
Gleam
Products
Gleam (c82a2d83bd0c06cafdc196820deb3f89a9b3ff7c <6435a5528b9ae0449e2f32be579641ec485f6866)
Gleam (v0.10.0-rc1-elixir-alpine <v1.17.0-elixir-alpine)
Gleam (v0.10.0-rc1-node-slim <v1.17.0-node-slim)
Gleam (v0.10.0-rc1-elixir <v1.17.0-elixir)
Gleam (v0.10.0-rc1-elixir-slim <v1.17.0-elixir-slim)
Gleam (0.10.0-rc1 <1.17.0)
Gleam (v0.10.0-rc1-node-alpine <v1.17.0-node-alpine)
Gleam (v0.10.0-rc1-erlang-alpine <v1.17.0-erlang-alpine)
Gleam (v0.10.0-rc1-node <v1.17.0-node)
Gleam (v0.10.0-rc1-erlang-slim <v1.17.0-erlang-slim)
Gleam (v0.10.0-rc1-scratch <v1.17.0-scratch)
Gleam (v0.10.0-rc1-erlang <v1.17.0-erlang)

ENISA description: Symlink following vulnerability in Gleam's Hex package export allows files outside the project root to be embedded in the generated package tarball. The file collection helpers (gleam_files, native_files, private_files) in compiler-cli/src/fs.rs use follow_links(true) when walking publishable directories such as src/ and priv/. The collected paths are added to the package archive via add_path_to_tar in compiler-cli/src/publish.rs without verifying that the resolved target remains within the project root. A symlink placed under a publishable directory will cause gleam export hex-tarball or gleam publish to embed the contents of the symlink target into the generated Hex package. An attacker with write access to the project repository can place a symlink in src/ or priv/ pointing to an arbitrary file. When a maintainer or CI pipeline runs gleam publish or gleam export hex-tarball, local files readable by the publisher (such as secrets, tokens, or SSH keys) are silently embedded into the published package artifact. This issue affects Gleam from 0.10.0-rc1 until 1.17.0.

EUVD references (4)

Affected products (3)

VendorProductVersionsPlatforms
Gleam Gleam 0.10.0-rc1 (affected)
Gleam Gleam 0.10.0-rc1 (affected), c82a2d83bd0c06cafdc196820deb3f89a9b3ff7c (affected)
Gleam Gleam v0.10.0-rc1-elixir (affected), v0.10.0-rc1-erlang (affected), v0.10.0-rc1-node (affected), v0.10.0-rc1-node-slim (affected), v0.10.0-rc1-elixir-slim (affected), v0.10.0-rc1-erlang-slim (affected), v0.10.0-rc1-erlang-alpine (affected), v0.10.0-rc1-elixir-alpine (affected), v0.10.0-rc1-node-alpine (affected), v0.10.0-rc1-scratch (affected)

Vendor references (4)

References embedded in the original CVE record by the assigning CNA.

Web references (7)

DuckDuckGo results ranked by threat-intel / vendor advisory domains. Generated by the 🔎 Find references (web) button above — same flow as the Remediations search.

NVD-tagged references (5)

Reference list NVD curates from the CNA record, vendor advisories, and third-party reports. The tag chips below are NVD's analyst-assigned categories.

Remediations (20)

Remediations are stored against the linked Threat row; the list below is deduplicated across both pages.

  • web:en-forum.guildwars2.com

    05/12/2026—May 12 Release Notes Note to users of third-party programs: The game may not launch or work properly after we release a new build if you use a third-party program, due to possible incompatibilities. ArenaNet cannot offer support if a third-party modification breaks, interferes with, or ...

    2026-06-08 15:51 UTC
  • web:federalnewsnetwork.com

    The problem is most severe in operational technology (OT) environments. In these systems, a security fix often carries more risk than the bug it's meant to address. When a patch threatens the stability of a mission-critical service, the result is a dangerous, if necessary, paralysis. We need to stop treating speed as the only metric of success. The asymmetry of time Federal networks are a ...

    2026-06-08 15:51 UTC
  • web:hi.service-now.com

    ServiceNow 24/7 Support Available Patches Australia Patch 2 Hot Fix 1 Zurich Patch 9 Hot Fix 1 See more for product documentation

    2026-06-08 15:51 UTC
  • web:msrc.microsoft.com

    Security Update Guide - Microsoft Security Response Center

    2026-06-08 15:51 UTC
  • web:support.google.com

    On your computer, go to gmail.com. Enter your Google Account email address or phone number and password. If information is already filled in and you need to sign in to a different

    2026-06-08 15:51 UTC
  • web:wa.me

    Hosted by WhatsApp 2026 © WhatsApp LLC Privacy & Terms

    2026-06-08 15:51 UTC
  • web:warcraftmounts.com

    Patch 12.0.5 - mounts listed by source.

    2026-06-08 15:51 UTC
  • web:www.glennbeck.com

    Glenn starts the show by addressing the backlash he has received over his recent discussions on Russian influence in America and Aleksandr Dugin's influence in the West. Glenn warns of attempts to fix diagnoses in society that often lead to worse outcomes. Glenn takes calls from his listeners, who discuss a variety of issues, including questioning how political candidates linked to al-Qaeda ...

    2026-06-08 15:51 UTC
  • web:www.virustotal.com

    VirusTotal is a platform for scanning files and URLs for viruses, malware, and other threats using multiple antivirus engines.

    2026-06-08 15:51 UTC
  • web:www.youtube.com

    New video tomorrow y'all…I have to fix all the mic audio on it 🫩 165 21 Montoya Twinz

    2026-06-08 15:51 UTC
  • web:blog.qualys.com

    May 2026's Patch Tuesday arrives with Microsoft addressing a fresh set of vulnerabilities across its ecosystem, reinforcing the ongoing need for timely patching in an increasingly threat-heavy…

    2026-06-19 02:33 UTC
  • web:cybersecuritynews.com

    Microsoft has officially acknowledged a critical zero-day vulnerability in Microsoft Defender, publicly dubbed "RoguePlanet," and confirmed it is actively developing a security patch to address the flaw.

    2026-06-19 02:33 UTC
  • web:nvd.nist.gov

    Official websites use .gov A .gov website belongs to an official government organization in the United States.

    2026-06-19 02:33 UTC
  • web:portal.msrc.microsoft.com

    The Security Update Guide provides information on the latest Microsoft security updates, helping users understand and address potential vulnerabilities effectively.

    2026-06-19 02:33 UTC
  • web:support.microsoft.com

    Improvements This update includes new features and quality improvements that were part of the following update: May 12, 2026—KB5089548 (OS Build 28000.2113) May 26, 2026—KB5089570 (OS Build 28000.2179) This update addresses security vulnerabilities documented in the following guide: June 2026 Security Updates The following summary outlines key quality improvements addressed by this update ...

    2026-06-19 02:33 UTC
  • web:www.computerworld.com

    Each month, the team at Readiness analyzes the latest Patch Tuesday updates from Microsoft and provides detailed, actionable testing guidance. The company's Patch Tuesday release for February ...

    2026-06-19 02:33 UTC
  • web:www.computerworld.com

    Microsoft says it is considering a patch for a zero-day vulnerability, dubbed YellowKey, that allows attackers with access to a Windows device to bypass Bitlocker encryption protection and read ...

    2026-06-19 02:33 UTC
  • web:www.forbes.com

    Updated May 18: This article has been updated to include further details on the emergency mitigation process recommended by Microsoft after the CVE - 2026 -42897 Exchange Server zero-day was ...

    2026-06-19 02:33 UTC
  • web:www.malwarebytes.com

    Microsoft says it's working on a fix for an unpatched Defender vulnerability that can give attackers the highest level of access on Windows.

    2026-06-19 02:33 UTC
  • web:zecurit.com

    Get the complete breakdown of Microsoft's June 2026 Patch Tuesday. We analyze the latest security updates and all critical CVEs .

    2026-06-19 02:33 UTC

AI Forensic Analysis

Only Available for Registered Users. Sign in to view.

Raw JSON

The full cvelistV5 record. Download as CVE-2026-42795.json.

{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2026-42795",
                "options": [
                  {
                    "Exploitation": "poc"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2026-06-02T15:04:06.195456Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2026-06-02T15:04:35.767Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "references": [
          {
            "tags": [
              "exploit"
            ],
            "url": "https://github.com/gleam-lang/gleam/security/advisories/GHSA-qhh5-fg4c-8gqc"
          }
        ],
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "cpes": [
            "cpe:2.3:a:gleam-lang:gleam:*:*:*:*:*:*:*:*"
          ],
          "defaultStatus": "unaffected",
          "modules": [
            "compiler-cli"
          ],
          "packageName": "gleam",
          "packageURL": "pkg:sid/gleam.run/gleam",
          "product": "Gleam",
          "programFiles": [
            "compiler-cli/src/fs.rs",
            "compiler-cli/src/publish.rs"
          ],
          "programRoutines": [
            {
              "name": "compiler_cli::fs::gleam_files"
            },
            {
              "name": "compiler_cli::fs::native_files"
            },
            {
              "name": "compiler_cli::fs::private_files"
            },
            {
              "name": "compiler_cli::publish::project_files"
            },
            {
              "name": "compiler_cli::publish::add_path_to_tar"
            }
          ],
          "vendor": "Gleam",
          "versions": [
            {
              "lessThan": "1.17.0",
              "status": "affected",
              "version": "0.10.0-rc1",
              "versionType": "semver"
            }
          ]
        },
        {
          "collectionURL": "https://github.com",
          "cpes": [
            "cpe:2.3:a:gleam-lang:gleam:*:*:*:*:*:*:*:*"
          ],
          "defaultStatus": "unaffected",
          "modules": [
            "compiler-cli"
          ],
          "packageName": "gleam-lang/gleam",
          "packageURL": "pkg:github/gleam-lang/gleam",
          "product": "Gleam",
          "programFiles": [
            "compiler-cli/src/fs.rs",
            "compiler-cli/src/publish.rs"
          ],
          "programRoutines": [
            {
              "name": "compiler_cli::fs::gleam_files"
            },
            {
              "name": "compiler_cli::fs::native_files"
            },
            {
              "name": "compiler_cli::fs::private_files"
            },
            {
              "name": "compiler_cli::publish::project_files"
            },
            {
              "name": "compiler_cli::publish::add_path_to_tar"
            }
          ],
          "repo": "https://github.com/gleam-lang/gleam",
          "vendor": "Gleam",
          "versions": [
            {
              "lessThan": "1.17.0",
              "status": "affected",
              "version": "0.10.0-rc1",
              "versionType": "semver"
            },
            {
              "lessThan": "6435a5528b9ae0449e2f32be579641ec485f6866",
              "status": "affected",
              "version": "c82a2d83bd0c06cafdc196820deb3f89a9b3ff7c",
              "versionType": "git"
            }
          ]
        },
        {
          "collectionURL": "https://ghcr.io",
          "cpes": [
            "cpe:2.3:a:gleam-lang:gleam:*:*:*:*:*:*:*:*"
          ],
          "defaultStatus": "unaffected",
          "modules": [
            "compiler-cli"
          ],
          "packageName": "gleam-lang/gleam",
          "packageURL": "pkg:oci/gleam?repository_url=ghcr.io/gleam-lang",
          "product": "Gleam",
          "programFiles": [
            "compiler-cli/src/fs.rs",
            "compiler-cli/src/publish.rs"
          ],
          "programRoutines": [
            {
              "name": "compiler_cli::fs::gleam_files"
            },
            {
              "name": "compiler_cli::fs::native_files"
            },
            {
              "name": "compiler_cli::fs::private_files"
            },
            {
              "name": "compiler_cli::publish::project_files"
            },
            {
              "name": "compiler_cli::publish::add_path_to_tar"
            }
          ],
          "vendor": "Gleam",
          "versions": [
            {
              "lessThan": "v1.17.0-elixir",
              "status": "affected",
              "version": "v0.10.0-rc1-elixir",
              "versionType": "other"
            },
            {
              "lessThan": "v1.17.0-erlang",
              "status": "affected",
              "version": "v0.10.0-rc1-erlang",
              "versionType": "other"
            },
            {
              "lessThan": "v1.17.0-node",
              "status": "affected",
              "version": "v0.10.0-rc1-node",
              "versionType": "other"
            },
            {
              "lessThan": "v1.17.0-node-slim",
              "status": "affected",
              "version": "v0.10.0-rc1-node-slim",
              "versionType": "other"
            },
            {
              "lessThan": "v1.17.0-elixir-slim",
              "status": "affected",
              "version": "v0.10.0-rc1-elixir-slim",
              "versionType": "other"
            },
            {
              "lessThan": "v1.17.0-erlang-slim",
              "status": "affected",
              "version": "v0.10.0-rc1-erlang-slim",
              "versionType": "other"
            },
            {
              "lessThan": "v1.17.0-erlang-alpine",
              "status": "affected",
              "version": "v0.10.0-rc1-erlang-alpine",
              "versionType": "other"
            },
            {
              "lessThan": "v1.17.0-elixir-alpine",
              "status": "affected",
              "version": "v0.10.0-rc1-elixir-alpine",
              "versionType": "other"
            },
            {
              "lessThan": "v1.17.0-node-alpine",
              "status": "affected",
              "version": "v0.10.0-rc1-node-alpine",
              "versionType": "other"
            },
            {
              "lessThan": "v1.17.0-scratch",
              "status": "affected",
              "version": "v0.10.0-rc1-scratch",
              "versionType": "other"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:a:gleam-lang:gleam:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "1.17.0",
                  "versionStartIncluding": "0.10.0-rc1",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "credits": [
        {
          "lang": "en",
          "type": "finder",
          "value": "Aly (spect3r1)"
        },
        {
          "lang": "en",
          "type": "finder",
          "value": "Abdelrahman Ahmed Aboelkasem (0x2face)"
        },
        {
          "lang": "en",
          "type": "remediation developer",
          "value": "Louis Pilfold"
        },
        {
          "lang": "en",
          "type": "analyst",
          "value": "Jonatan M\u00e4nnchen / EEF"
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "supportingMedia": [
            {
              "base64": false,
              "type": "text/html",
              "value": "<p>Symlink following vulnerability in Gleam's Hex package export allows files outside the project root to be embedded in the generated package tarball.</p><p>The file collection helpers (<tt>gleam_files</tt>, <tt>native_files</tt>, <tt>private_files</tt>) in <tt>compiler-cli/src/fs.rs</tt> use <tt>follow_links(true)</tt> when walking publishable directories such as <tt>src/</tt> and <tt>priv/</tt>. The collected paths are added to the package archive via <tt>add_path_to_tar</tt> in <tt>compiler-cli/src/publish.rs</tt> without verifying that the resolved target remains within the project root. A symlink placed under a publishable directory will cause <tt>gleam export hex-tarball</tt> or <tt>gleam publish</tt> to embed the contents of the symlink target into the generated Hex package.</p><p>An attacker with write access to the project repository can place a symlink in <tt>src/</tt> or <tt>priv/</tt> pointing to an arbitrary file. When a maintainer or CI pipeline runs <tt>gleam publish</tt> or <tt>gleam export hex-tarball</tt>, local files readable by the publisher (such as secrets, tokens, or SSH keys) are silently embedded into the published package artifact.</p><p>This issue affects Gleam from 0.10.0-rc1 until 1.17.0.</p>"
            }
          ],
          "value": "Symlink following vulnerability in Gleam's Hex package export allows files outside the project root to be embedded in the generated package tarball.\n\nThe file collection helpers (gleam_files, native_files, private_files) in compiler-cli/src/fs.rs use follow_links(true) when walking publishable directories such as src/ and priv/. The collected paths are added to the package archive via add_path_to_tar in compiler-cli/src/publish.rs without verifying that the resolved target remains within the project root. A symlink placed under a publishable directory will cause gleam export hex-tarball or gleam publish to embed the contents of the symlink target into the generated Hex package.\n\nAn attacker with write access to the project repository can place a symlink in src/ or priv/ pointing to an arbitrary file. When a maintainer or CI pipeline runs gleam publish or gleam export hex-tarball, local files readable by the publisher (such as secrets, tokens, or SSH keys) are silently embedded into the published package artifact.\n\nThis issue affects Gleam from 0.10.0-rc1 until 1.17.0."
        }
      ],
      "impacts": [
        {
          "capecId": "CAPEC-132",
          "descriptions": [
            {
              "lang": "en",
              "value": "CAPEC-132 Symlink Attack"
            }
          ]
        }
      ],
      "metrics": [
        {
          "cvssV4_0": {
            "attackComplexity": "LOW",
            "attackRequirements": "NONE",
            "attackVector": "LOCAL",
            "baseScore": 5.1,
            "baseSeverity": "MEDIUM",
            "privilegesRequired": "LOW",
            "subAvailabilityImpact": "NONE",
            "subConfidentialityImpact": "NONE",
            "subIntegrityImpact": "NONE",
            "userInteraction": "ACTIVE",
            "vectorString": "CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:A/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N",
            "version": "4.0",
            "vulnAvailabilityImpact": "NONE",
            "vulnConfidentialityImpact": "HIGH",
            "vulnIntegrityImpact": "NONE"
          },
          "format": "CVSS",
          "scenarios": [
            {
              "lang": "en",
              "value": "GENERAL"
            }
          ]
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "cweId": "CWE-59",
              "description": "CWE-59 Improper Link Resolution Before File Access ('Link Following')",
              "lang": "en",
              "type": "CWE"
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-06-02T19:14:25.176Z",
        "orgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "shortName": "EEF"
      },
      "references": [
        {
          "tags": [
            "vendor-advisory",
            "related"
          ],
          "url": "https://github.com/gleam-lang/gleam/security/advisories/GHSA-qhh5-fg4c-8gqc"
        },
        {
          "tags": [
            "related"
          ],
          "url": "https://cna.erlef.org/cves/CVE-2026-42795.html"
        },
        {
          "tags": [
            "related"
          ],
          "url": "https://osv.dev/vulnerability/EEF-CVE-2026-42795"
        },
        {
          "tags": [
            "patch"
          ],
          "url": "https://github.com/gleam-lang/gleam/commit/6435a5528b9ae0449e2f32be579641ec485f6866"
        }
      ],
      "source": {
        "discovery": "EXTERNAL"
      },
      "title": "Symlink Following in Hex Package Export Allows Embedding Files Outside Project Root",
      "workarounds": [
        {
          "lang": "en",
          "supportingMedia": [
            {
              "base64": false,
              "type": "text/html",
              "value": "<ul><li>Avoid running <tt>gleam publish</tt> or <tt>gleam export hex-tarball</tt> on untrusted projects</li><li>Review the contents of <tt>src/</tt> and <tt>priv/</tt> for unexpected symlinks before publishing</li><li>Run publishing commands in a restricted or isolated environment (e.g. containers)</li></ul>"
            }
          ],
          "value": "* Avoid running gleam publish or gleam export hex-tarball on untrusted projects\n* Review the contents of src/ and priv/ for unexpected symlinks before publishing\n* Run publishing commands in a restricted or isolated environment (e.g. containers)"
        }
      ],
      "x_generator": {
        "engine": "cvelib 1.8.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
    "assignerShortName": "EEF",
    "cveId": "CVE-2026-42795",
    "datePublished": "2026-06-02T13:41:39.527Z",
    "dateReserved": "2026-04-29T18:06:33.251Z",
    "dateUpdated": "2026-06-02T19:14:25.176Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2"
}