CVE-2026-55569

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

Published Aug 28, 2026 CVSS 3.1 · 6.6 Medium EPSS < 1% KEV · Not listed
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.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-mf5c-hw34-4hpp Aqua's archive extraction follows attacker-planted symlinks, allowing writes outside the install directory
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Aquaproj
Aquaproj aqua
Vendors & Products Aquaproj
Aquaproj aqua
Type Values Removed Values Added
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.
Title aqua: Archive extraction in aqua follows attacker-planted symlinks, allowing writes outside the install directory
Weaknesses CWE-22
CWE-59
References
Metrics cvssV3_1

{'score': 6.6, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:H/A:L'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Sep 1, 2026, 1:44 AM
Reserved
Jun 16, 2026, 11:11 PM
Status
Deferred
Published
Aug 28, 2026, 8:18 PM
Modified
Sep 9, 2026, 9:09 PM