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.
Published: 2026-08-28
Score: 6.6 Medium
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability resides in aqua's unarchive handler, where a Unix symlink is created without restricting the link target path. If an attacker controls a package archive, they can insert a symlink that points to any location on the filesystem. When the archive extraction later creates a regular file at the same path, the open call follows that symlink. The user running aqua can thus write arbitrary bytes outside the intended extraction directory. The attacker could overwrite startup scripts, configuration files or writable executable paths, compromising the user environment.

Affected Systems

Affected systems are installations of aquaproj:aqua, specifically those running any version prior to 2.60.1. The vulnerability is fixed in release v2.60.1. No broader vendor has been identified; the product is a cross‑platform command‑line tool written in Go that manages tool installations.

Risk and Exploitability

The CVSS score of 6.6 indicates moderate severity, while EPSS is currently not available so exploitation likelihood cannot be quantified. The vulnerability is not listed in the CISA KEV catalog. Attackers would need only a malicious or compromised package archive, which is fairly simple to create or supply. As a result, the risk is that any user permitting aqua to install or update from untrusted sources may inadvertently write files into sensitive locations, potentially leading to privilege escalation within the user's context.

Generated by OpenCVE AI on August 28, 2026 at 21:23 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade aquaproj:aqua to version 2.60.1 or later
  • Restrict installation to trusted archives by verifying checksums or signatures before extraction
  • Run aqua in a sandbox or isolated environment that prohibits writes outside its intended directory

Generated by OpenCVE AI on August 28, 2026 at 21:23 UTC.

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

Fri, 28 Aug 2026 19:45:00 +0000

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'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-28T16:26:51.328Z

Reserved: 2026-06-16T23:11:20.214Z

Link: CVE-2026-55569

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-28T20:18:29.347

Modified: 2026-08-28T20:18:29.347

Link: CVE-2026-55569

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-28T21:30:05Z

Weaknesses
  • CWE-22

    Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

  • CWE-59

    Improper Link Resolution Before File Access ('Link Following')