CVE-2026-93992: Go Archive Entry Path Traversal Unsanitized Join

Archive entry name flows into a filesystem write path without being cleaned and rejected when it still starts with ".." or is absolute. filepath.Join only cleans the result; it does not confine it to the destination directory, so a crafted entry name such as ../../x or /etc/x escapes the extraction directory (Zip Slip) and lets an attacker create directories

Provally CuratedPublic repositoryHighHigh confidenceVerifiedApache-2.0Go
greprules fetch cve-2026-93992-go-archive-entry-path-traversal-unsanitized-join --engine opengrep

Description

Archive entry name flows into a filesystem write path without being cleaned and rejected when it still starts with ".." or is absolute. filepath.Join only cleans the result; it does not confine it to the destination directory, so a crafted entry name such as ../../x or /etc/x escapes the extraction directory (Zip Slip) and lets an attacker create directories