{"id":4094,"date":"2026-09-04T18:43:00","date_gmt":"2026-09-04T10:43:00","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-42795"},"modified":"2026-09-04T18:43:00","modified_gmt":"2026-09-04T10:43:00","slug":"cve-2026-42795","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-42795","title":{"rendered":"CVE-2026-42795 &#8211; Symlink following vulnerability in Gleam&#8217;s Hex package export allows files outside the pro"},"content":{"rendered":"<p>Symlink following vulnerability in Gleam&#8217;s Hex package export allows files outside the project root to be embedded in the generated package tarball.<\/p>\n<p>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.<\/p>\n<p>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.<\/p>\n<p>This issue affects Gleam from 0.10.0-rc1 until 1.17.0.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Symlink following vulnerability in Gleam&#8217;s Hex package export allows files outside the project root to be embedded in the generated package tarball.<\/p>\n<p>The file collection helpers (gleam_files, native_f<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-4094","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/4094","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4094"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4094"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4094"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}