CVE-2026-55569

aqua: Archive extraction in aqua follows attacker-planted symlinks, allowing writes outside the install directory

State
Published
Severity
6.6 Medium
Published
Aug 28, 2026
Updated
Sep 1, 2026
Reserved
Jun 16, 2026

Read the record on cve.org

Description

aqua is a declarative command-line version manager written in Go. Prior to 2.60.1, pkg/unarchive/archives.go in the handler.HandleFile method calls os.Symlink with archives.FileInfo.LinkTarget without verifying that the target remains under the extraction destination. A later regular-file entry at the same archive path is opened with OpenFile using O_CREATE and O_WRONLY, which follows the attacker-planted symlink. A malicious or compromised package archive can therefore write attacker-controlled bytes outside aqua's extraction directory with the privileges of the user running aqua, potentially overwriting shell startup files, tool configuration, or writable executable paths. This issue is fixed in version 2.60.1.

Scores

CVSSScoreVectorSource
3.16.6 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:H/A:LGitHub_M

Weaknesses

  • CWE-22 Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
  • CWE-59 Improper Link Resolution Before File Access ('Link Following')

Affected Products

ProductVersions
aquaaquaproj
  • < 2.60.1Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.