PULSE
LIVE15signals / 24h
FEED
ransomqilin reclama a Jubilee Jobs · NG · Professional Servicesransomqilin reclama a The Myers Y Cooper · Professional Servicesransomqilin reclama a Guntert & Zimmerman · CH · Manufacturingransomqilin reclama a Principle Diagnostics Laboratory · IN · Healthcareransommoneymessage reclama a Yourway Transportation · Transportationransomqilin reclama a GURR Abdichtungstechnik GmbH · DE · Manufacturingransomnova reclama a SistNet · IT · Not Foundransompayoutsking reclama a T****r · US · Technologyransomsecurotrop reclama a Advantage Sintered Metals · US · Manufacturingransomqilin reclama a GOP · GB · Otherransomnova reclama a Center Of Information Technologies In Finance Public Institution · Financial Servicesransomunsafe reclama a Jiva Health · IN · Healthcareransomsafepay reclama a upland.k12.ca.us · US · Educationransomsafepay reclama a gvsurgicalarts.com · US · Healthcareransomqilin reclama a Jubilee Jobs · NG · Professional Servicesransomqilin reclama a The Myers Y Cooper · Professional Servicesransomqilin reclama a Guntert & Zimmerman · CH · Manufacturingransomqilin reclama a Principle Diagnostics Laboratory · IN · Healthcareransommoneymessage reclama a Yourway Transportation · Transportationransomqilin reclama a GURR Abdichtungstechnik GmbH · DE · Manufacturingransomnova reclama a SistNet · IT · Not Foundransompayoutsking reclama a T****r · US · Technologyransomsecurotrop reclama a Advantage Sintered Metals · US · Manufacturingransomqilin reclama a GOP · GB · Otherransomnova reclama a Center Of Information Technologies In Finance Public Institution · Financial Servicesransomunsafe reclama a Jiva Health · IN · Healthcareransomsafepay reclama a upland.k12.ca.us · US · Educationransomsafepay reclama a gvsurgicalarts.com · US · Healthcare
← All CVEs
CVE WatchJul 22, 2026

CVE-2026-42795

Symlink following vulnerability in Gleam's Hex package export allows files outside the project root to be embedded in the generated package

CVSS

No CVSS

EPSS

0.1%

p3

KEV

Exploit Today

1

0-100

Published: Jun 2, 2026 · Last modified: Jul 22, 2026 · CWE-59

EPSS · 30d
0.1%EPSS · 30 days0.1%
2026-06-302026-07-24
Technical 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.

Official references
Related CVEs
CVECVSSEPSSKEVRExploitTitleMod.
CVE-2026-12503
0Improper Link Resolution (CWE-59) in `/usr/bin/larm_starter` in Loytec L-INX, L-GATE, L-ROC, L-IOB, L-DALI, L-VIS and L-PAD through 8.4.16 on LINX-A64 allows an authenticated `larmapp` attacker to make `/etc/passwd` writable by the `larmapp` group (leading to root privilege escalation) via a symlink attack on `/etc/lighttpd/ssl/server.pem`.22h
CVE-2026-650694.0 MED
3.5%
1Data::DisjointSet::Shared versions before 0.02 for Perl create a world-readable mmap backing file and open it without O_EXCL or O_NOFOLLOW. The segment is created in dsu.h with open(path, O_RDWR|O_CREAT, 0666). The mode is 0666, so under the default umask 022 the file is created mode 0644 (world-readable). O_NOFOLLOW is absent, so a symlink planted at the path is followed, and O_EXCL is absent, so the open silently uses a pre-planted file instead of failing. A "Shared" segment naturally lives in a shared directory such as /tmp or /dev/shm, where any local user can read the IPC payloads stored in the world-readable segment, and a pre-planted file or symlink at the path lets a local attacker win a pre-creation race or redirect the open.2d
CVE-2026-650683.8 LOW
1.9%
1Data::SpatialHash::Shared versions before 0.02 for Perl create a world-readable mmap backing file and open it without O_EXCL or O_NOFOLLOW. The segment is created in sphash.h with open(path, O_RDWR|O_CREAT, 0666). The mode is 0666, so under the default umask 022 the file is created mode 0644 (world-readable). O_NOFOLLOW is absent, so a symlink planted at the path is followed, and O_EXCL is absent, so the open silently uses a pre-planted file instead of failing. A "Shared" segment naturally lives in a shared directory such as /tmp or /dev/shm, where any local user can read the IPC payloads stored in the world-readable segment, and a pre-planted file or symlink at the path lets a local attacker win a pre-creation race or redirect the open.2d
CVE-2026-650673.8 LOW
1.9%
1Data::Intern::Shared versions before 0.02 for Perl create a world-readable mmap backing file and open it without O_EXCL or O_NOFOLLOW. The segment is created in intern.h with open(path, O_RDWR|O_CREAT, 0666). The mode is 0666, so under the default umask 022 the file is created mode 0644 (world-readable). O_NOFOLLOW is absent, so a symlink planted at the path is followed, and O_EXCL is absent, so the open silently uses a pre-planted file instead of failing. A "Shared" segment naturally lives in a shared directory such as /tmp or /dev/shm, where any local user can read the IPC payloads stored in the world-readable segment, and a pre-planted file or symlink at the path lets a local attacker win a pre-creation race or redirect the open.2d
CVE-2026-650663.8 LOW
1.9%
1Data::RingBuffer::Shared versions before 0.04 for Perl create a world-readable mmap backing file and open it without O_EXCL or O_NOFOLLOW. The segment is created in ring.h with open(path, O_RDWR|O_CREAT, 0666). The mode is 0666, so under the default umask 022 the file is created mode 0644 (world-readable). O_NOFOLLOW is absent, so a symlink planted at the path is followed, and O_EXCL is absent, so the open silently uses a pre-planted file instead of failing. A "Shared" segment naturally lives in a shared directory such as /tmp or /dev/shm, where any local user can read the IPC payloads stored in the world-readable segment, and a pre-planted file or symlink at the path lets a local attacker win a pre-creation race or redirect the open.2d
CVE-2026-650655.5 MED
5.7%
2Data::RoaringBitmap::Shared versions before 0.02 for Perl create a world-readable mmap backing file and open it without O_EXCL or O_NOFOLLOW. The segment is created in roaring.h with open(path, O_RDWR|O_CREAT, 0666). The mode is 0666, so under the default umask 022 the file is created mode 0644 (world-readable). O_NOFOLLOW is absent, so a symlink planted at the path is followed, and O_EXCL is absent, so the open silently uses a pre-planted file instead of failing. A "Shared" segment naturally lives in a shared directory such as /tmp or /dev/shm, where any local user can read the IPC payloads stored in the world-readable segment, and a pre-planted file or symlink at the path lets a local attacker win a pre-creation race or redirect the open.19h