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-43965

📛 CVE Title

Path Traversal in build/packages/packages.toml Allows Arbitrary Directory Deletion

Description

Path traversal vulnerability in Gleam's dependency management allows arbitrary directory deletion via malicious build/packages/packages.toml content. Package keys read from build/packages/packages.toml by LocalPackages::read_from_disc are passed without validation to paths.build_packages_package(), which constructs a filesystem path by joining the project build directory with the attacker-controlled key. The resulting path is then passed to fs::delete_directory (which calls remove_dir_all). No check is performed to ensure the path remains within the intended build/packages/ directory. Both absolute paths and relative traversal sequences (e.g. ../) are accepted as package keys, allowing deletion of arbitrary directories. An attacker who can cause a victim to run gleam deps download on a project containing a malicious build/packages/packages.toml (e.g. by committing the normally-gitignored file to a repository) can cause arbitrary directories on the victim's system to be recursively deleted. This issue affects Gleam from 0.18.0-rc1 until 1.17.0.

Overview

State
PUBLISHED
Assigner (CNA)
EEF
CVSS severity
MEDIUM
CVSS score
CVSS 5.6 / 10 5.6 5.6 / 10
CVSS vector
CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:A/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Effective score
5.6 / 10 MEDIUM source: CNA overview
CWE(s)
CWE-22
Reserved
2026-05-04
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/43xxx/CVE-2026-43965.json
Linked Threat
CVE-2026-43965 — CVE-2026-43965

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:54 UTC
NVD last modified
2026-07-22 19:10:00 UTC
EPSS score
0.0015 (probability of exploitation in next 30 days)
EPSS percentile
4.80% vs all CVEs — higher = more likely to be exploited, as of 2026-07-27

NVD / KEV / EPSS data refreshed 2026-07-28 14:15 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-33926
Assigner
EEF
Published
Jun 2, 2026, 1:41:37 PM
Updated
Jun 2, 2026, 7:14:19 PM
EUVD base score (CVSS 4.0)
5.6 / 10
CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:A/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
EUVD-reported EPSS
0.1500
Vendors
Gleam
Products
Gleam (v0.18.0-rc1-node <v1.17.0-node)
Gleam (v0.18.0-rc1-erlang-slim <v1.17.0-erlang-slim)
Gleam (v0.18.0-rc1-scratch <v1.17.0-scratch)
Gleam (v0.18.0-rc1-elixir <v1.17.0-elixir)
Gleam (v0.18.0-rc1-erlang <v1.17.0-erlang)
Gleam (0.18.0-rc1 <1.17.0)
Gleam (v0.18.0-rc1-elixir-alpine <v1.17.0-elixir-alpine)
Gleam (v0.18.0-rc1-elixir-slim <v1.17.0-elixir-slim)
Gleam (ed7aec0484f10d60978b63788c8a6497590855ab <690ca069817bee5f77a28fc3e360627c1da19291)
Gleam (v0.18.0-rc1-erlang-alpine <v1.17.0-erlang-alpine)
Gleam (v0.18.0-rc1-node-alpine <v1.17.0-node-alpine)
Gleam (v0.18.0-rc1-node-slim <v1.17.0-node-slim)

ENISA description: Path traversal vulnerability in Gleam's dependency management allows arbitrary directory deletion via malicious build/packages/packages.toml content. Package keys read from build/packages/packages.toml by LocalPackages::read_from_disc are passed without validation to paths.build_packages_package(), which constructs a filesystem path by joining the project build directory with the attacker-controlled key. The resulting path is then passed to fs::delete_directory (which calls remove_dir_all). No check is performed to ensure the path remains within the intended build/packages/ directory. Both absolute paths and relative traversal sequences (e.g. ../) are accepted as package keys, allowing deletion of arbitrary directories. An attacker who can cause a victim to run gleam deps download on a project containing a malicious build/packages/packages.toml (e.g. by committing the normally-gitignored file to a repository) can cause arbitrary directories on the victim's system to be recursively deleted. This issue affects Gleam from 0.18.0-rc1 until 1.17.0.

EUVD references (4)

Affected products (3)

VendorProductVersionsPlatforms
Gleam Gleam 0.18.0-rc1 (affected)
Gleam Gleam 0.18.0-rc1 (affected), ed7aec0484f10d60978b63788c8a6497590855ab (affected)
Gleam Gleam v0.18.0-rc1-elixir (affected), v0.18.0-rc1-erlang (affected), v0.18.0-rc1-node (affected), v0.18.0-rc1-node-slim (affected), v0.18.0-rc1-elixir-slim (affected), v0.18.0-rc1-erlang-slim (affected), v0.18.0-rc1-erlang-alpine (affected), v0.18.0-rc1-elixir-alpine (affected), v0.18.0-rc1-node-alpine (affected), v0.18.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 (15)

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

  • web:cybersecuritynews.com

    Microsoft's May 2026 Patch Tuesday lands with a heavy enterprise focus, fixing 120 vulnerabilities across Windows, Office, Azure, developer tools, and Microsoft 365 apps, including 29 remote code execution (RCE) flaws rated Critical.

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

    If the Fixes introduced in column lists a version prior to the one you are running, in the same branch, then your version should have the fix . Mitigation To mitigate this vulnerability, use named captures instead of unnamed captures in rewrite definitions. For example, the rewrite directive in the Impact section could be rewritten as:

    2026-06-08 15:51 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-08 15:51 UTC
  • web:support.microsoft.com

    Improvements and fixes This security update contains improvements and fixes for the following nonsecurity issues in SharePoint Server Subscription Edition: This update improves accessibility by enabling keyboard navigation to column headers in the SPList Quick Edit view. This update resolves an issue in which pages don't load because certain user controls are flagged as unsafe for security ...

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

    New ClickFix variant maps WebDAV drive to run trojanized WorkFlowy app, enabling stealth C2 beacon and payload delivery.

    2026-06-08 15:51 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-08 15:51 UTC
  • web:www.crowdstrike.com

    Microsoft has released security updates for 130 vulnerabilities, including 30 critical, in its May 2026 Patch Tuesday rollout.

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

    The fix will be rolled into the June Patch Tuesday release. The June Patch Tuesday release will contain a fix for the failures and errors when installing KB5089549 for Windows 11.

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

    This Critical Patch Update contains 481 new security patches across the product families listed below. Please note that an MOS note summarizing the content of this Critical Patch Update and other Oracle Software Security Assurance activities is located at April 2026 Critical Patch Update: Executive Summary and Analysis.

    2026-06-08 15:51 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-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:www.csoonline.com

    Microsoft highlighted six new and actively exploited vulnerabilities among the 60 fixes issued in today's February Patch Tuesday releases.

    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:www.microsoft.com

    Security Update Guide Notifications Microsoft's free Security Update Guide Notifications provide links to security-related software updates and notification of re-released security updates. These notifications are sent via email throughout the month as needed.

    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-43965.json.

{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2026-43965",
                "options": [
                  {
                    "Exploitation": "poc"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2026-06-02T15:07:44.667204Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2026-06-02T15:08:13.970Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "references": [
          {
            "tags": [
              "exploit"
            ],
            "url": "https://github.com/gleam-lang/gleam/security/advisories/GHSA-jqvf-f6p2-wrv3"
          }
        ],
        "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/dependencies.rs"
          ],
          "programRoutines": [
            {
              "name": "compiler_cli::dependencies::remove_extra_packages"
            },
            {
              "name": "compiler_cli::dependencies::LocalPackages::read_from_disc"
            },
            {
              "name": "compiler_cli::dependencies::LocalPackages::extra_local_packages"
            }
          ],
          "vendor": "Gleam",
          "versions": [
            {
              "lessThan": "1.17.0",
              "status": "affected",
              "version": "0.18.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/dependencies.rs"
          ],
          "programRoutines": [
            {
              "name": "compiler_cli::dependencies::remove_extra_packages"
            },
            {
              "name": "compiler_cli::dependencies::LocalPackages::read_from_disc"
            },
            {
              "name": "compiler_cli::dependencies::LocalPackages::extra_local_packages"
            }
          ],
          "repo": "https://github.com/gleam-lang/gleam",
          "vendor": "Gleam",
          "versions": [
            {
              "lessThan": "1.17.0",
              "status": "affected",
              "version": "0.18.0-rc1",
              "versionType": "semver"
            },
            {
              "lessThan": "690ca069817bee5f77a28fc3e360627c1da19291",
              "status": "affected",
              "version": "ed7aec0484f10d60978b63788c8a6497590855ab",
              "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/dependencies.rs"
          ],
          "programRoutines": [
            {
              "name": "compiler_cli::dependencies::remove_extra_packages"
            },
            {
              "name": "compiler_cli::dependencies::LocalPackages::read_from_disc"
            },
            {
              "name": "compiler_cli::dependencies::LocalPackages::extra_local_packages"
            }
          ],
          "vendor": "Gleam",
          "versions": [
            {
              "lessThan": "v1.17.0-elixir",
              "status": "affected",
              "version": "v0.18.0-rc1-elixir",
              "versionType": "other"
            },
            {
              "lessThan": "v1.17.0-erlang",
              "status": "affected",
              "version": "v0.18.0-rc1-erlang",
              "versionType": "other"
            },
            {
              "lessThan": "v1.17.0-node",
              "status": "affected",
              "version": "v0.18.0-rc1-node",
              "versionType": "other"
            },
            {
              "lessThan": "v1.17.0-node-slim",
              "status": "affected",
              "version": "v0.18.0-rc1-node-slim",
              "versionType": "other"
            },
            {
              "lessThan": "v1.17.0-elixir-slim",
              "status": "affected",
              "version": "v0.18.0-rc1-elixir-slim",
              "versionType": "other"
            },
            {
              "lessThan": "v1.17.0-erlang-slim",
              "status": "affected",
              "version": "v0.18.0-rc1-erlang-slim",
              "versionType": "other"
            },
            {
              "lessThan": "v1.17.0-erlang-alpine",
              "status": "affected",
              "version": "v0.18.0-rc1-erlang-alpine",
              "versionType": "other"
            },
            {
              "lessThan": "v1.17.0-elixir-alpine",
              "status": "affected",
              "version": "v0.18.0-rc1-elixir-alpine",
              "versionType": "other"
            },
            {
              "lessThan": "v1.17.0-node-alpine",
              "status": "affected",
              "version": "v0.18.0-rc1-node-alpine",
              "versionType": "other"
            },
            {
              "lessThan": "v1.17.0-scratch",
              "status": "affected",
              "version": "v0.18.0-rc1-scratch",
              "versionType": "other"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:a:gleam-lang:gleam:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "1.17.0",
                  "versionStartIncluding": "0.18.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>Path traversal vulnerability in Gleam's dependency management allows arbitrary directory deletion via malicious <tt>build/packages/packages.toml</tt> content.</p><p>Package keys read from <tt>build/packages/packages.toml</tt> by <tt>LocalPackages::read_from_disc</tt> are passed without validation to <tt>paths.build_packages_package()</tt>, which constructs a filesystem path by joining the project build directory with the attacker-controlled key. The resulting path is then passed to <tt>fs::delete_directory</tt> (which calls <tt>remove_dir_all</tt>). No check is performed to ensure the path remains within the intended <tt>build/packages/</tt> directory. Both absolute paths and relative traversal sequences (e.g. <tt>../</tt>) are accepted as package keys, allowing deletion of arbitrary directories.</p><p>An attacker who can cause a victim to run <tt>gleam deps download</tt> on a project containing a malicious <tt>build/packages/packages.toml</tt> (e.g. by committing the normally-gitignored file to a repository) can cause arbitrary directories on the victim's system to be recursively deleted.</p><p>This issue affects Gleam from 0.18.0-rc1 until 1.17.0.</p>"
            }
          ],
          "value": "Path traversal vulnerability in Gleam's dependency management allows arbitrary directory deletion via malicious build/packages/packages.toml content.\n\nPackage keys read from build/packages/packages.toml by LocalPackages::read_from_disc are passed without validation to paths.build_packages_package(), which constructs a filesystem path by joining the project build directory with the attacker-controlled key. The resulting path is then passed to fs::delete_directory (which calls remove_dir_all). No check is performed to ensure the path remains within the intended build/packages/ directory. Both absolute paths and relative traversal sequences (e.g. ../) are accepted as package keys, allowing deletion of arbitrary directories.\n\nAn attacker who can cause a victim to run gleam deps download on a project containing a malicious build/packages/packages.toml (e.g. by committing the normally-gitignored file to a repository) can cause arbitrary directories on the victim's system to be recursively deleted.\n\nThis issue affects Gleam from 0.18.0-rc1 until 1.17.0."
        }
      ],
      "impacts": [
        {
          "capecId": "CAPEC-139",
          "descriptions": [
            {
              "lang": "en",
              "value": "CAPEC-139 Relative Path Traversal"
            }
          ]
        },
        {
          "capecId": "CAPEC-597",
          "descriptions": [
            {
              "lang": "en",
              "value": "CAPEC-597 Absolute Path Traversal"
            }
          ]
        }
      ],
      "metrics": [
        {
          "cvssV4_0": {
            "attackComplexity": "LOW",
            "attackRequirements": "PRESENT",
            "attackVector": "LOCAL",
            "baseScore": 5.6,
            "baseSeverity": "MEDIUM",
            "privilegesRequired": "NONE",
            "subAvailabilityImpact": "NONE",
            "subConfidentialityImpact": "NONE",
            "subIntegrityImpact": "NONE",
            "userInteraction": "ACTIVE",
            "vectorString": "CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:A/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N",
            "version": "4.0",
            "vulnAvailabilityImpact": "HIGH",
            "vulnConfidentialityImpact": "NONE",
            "vulnIntegrityImpact": "NONE"
          },
          "format": "CVSS",
          "scenarios": [
            {
              "lang": "en",
              "value": "GENERAL"
            }
          ]
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "cweId": "CWE-22",
              "description": "CWE-22 Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')",
              "lang": "en",
              "type": "CWE"
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-06-02T19:14:19.113Z",
        "orgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "shortName": "EEF"
      },
      "references": [
        {
          "tags": [
            "vendor-advisory",
            "related"
          ],
          "url": "https://github.com/gleam-lang/gleam/security/advisories/GHSA-jqvf-f6p2-wrv3"
        },
        {
          "tags": [
            "related"
          ],
          "url": "https://cna.erlef.org/cves/CVE-2026-43965.html"
        },
        {
          "tags": [
            "related"
          ],
          "url": "https://osv.dev/vulnerability/EEF-CVE-2026-43965"
        },
        {
          "tags": [
            "patch"
          ],
          "url": "https://github.com/gleam-lang/gleam/commit/690ca069817bee5f77a28fc3e360627c1da19291"
        }
      ],
      "source": {
        "discovery": "EXTERNAL"
      },
      "title": "Path Traversal in build/packages/packages.toml Allows Arbitrary Directory Deletion",
      "x_generator": {
        "engine": "cvelib 1.8.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
    "assignerShortName": "EEF",
    "cveId": "CVE-2026-43965",
    "datePublished": "2026-06-02T13:41:37.421Z",
    "dateReserved": "2026-05-04T18:23:25.573Z",
    "dateUpdated": "2026-06-02T19:14:19.113Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2"
}