Skip to content

← Actionable
Medium, CVSS 6.6amended

Aqua's archive extraction follows attacker-planted symlinks, allowing writes outside the install directory

CVE-2026-55569GHSA-mf5c-hw34-4hpp

What to do

Partial vendor fix. Follow the primary source's mitigation guidance and check back for a fix.

This page has no inventory attached, so it cannot say whether you are affected. A vendor fix is not proof that your deployment is fixed.

Affected packages

  • Go github.com/aquaproj/aqua

    Affected
    every version
    Fixed in
    no fixed version recorded
  • Go github.com/aquaproj/aqua/v2

    Affected
    < 2.60.1
    Fixed in
    2.60.1

Sources

Severity and exploitation
Exploitation
No confirmed exploitation recorded. Patch Next marks exploitation only from CISA KEV.
CVSS
6.6 · CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:H/A:L
EPSS
  • CVE-2026-55569: 0.18% estimated exploitation activity in the next 30 days; percentile 7.68 (FIRST EPSS, 2026-11-03). This is a model estimate, not proof of exploitation or customer exposure.
Source description

As published by the source; long descriptions are shortened.

Summary aquaproj/aqua extracts downloaded tool archives through pkg/unarchive/archives.go using github.com/mholt/archives. The archive handler creates symlink entries with os.Symlink(f.LinkTarget, dstPath) without validating that the symlink target resolves inside the extraction destination. A subsequent regular-file archive entry with the same path is opened with OpenFile(dstPath, OCREATE|OWRONLY), which follows the attacker-planted symlink. A malicious or compromised aqua package / release asset can therefore write attacker-controlled bytes outside aqua's extraction directory, with the privileges of the user running aqua. Details Affected file: pkg/unarchive/archives.go Affected function: (handler).HandleFile The vulnerable logic is the combination of: for symlink entries, followed by: for a later regular file entry at the same archive path. The symlink target is not jailed to the extraction destination, and the later file open follows the symlink. The attached PoC uses a two-entry…

Dates and revisions
Published by the source
Last modified by the source
Source last checked
  1. Revision 3 · amended ·

    Amended from ghsa record GHSA-mf5c-hw34-4hpp

  2. Revision 2 · amended ·

    Amended from osv record GO-2026-6314

  3. Revision 1 · created ·

    Published from osv record GHSA-mf5c-hw34-4hpp

Agent brief

Preview the exact text before you copy it. Commands are read-only suggestions; review them before running anything.

# Patch Next advisory brief: CVE-2026-55569

Advisory: Aqua's archive extraction follows attacker-planted symlinks, allowing writes outside the install directory
IDs: CVE-2026-55569, GHSA-mf5c-hw34-4hpp
Record: https://patchnext.com/advisories/cve-2026-55569 (revision 3, source checked 26 Oct 2026, 15:28 UTC)
Inventory: none attached. This brief comes from a public page and does not say whether any deployment is affected.
Severity: Medium (CVSS 6.6)
Exploitation: no confirmed exploitation recorded. Patch Next confirms exploitation only from CISA KEV.
Vendor response: Partial vendor fix; fixed versions by package: github.com/aquaproj/aqua/v2 2.60.1. A vendor fix does not mean a deployment is fixed.

## Affected components
- Go github.com/aquaproj/aqua: affected every version
- Go github.com/aquaproj/aqua/v2: affected < 2.60.1; fixed in 2.60.1

## Suggested inspection (read-only)
- Go github.com/aquaproj/aqua: check the installed version with your package manager.
- Go github.com/aquaproj/aqua/v2: check the installed version with your package manager.

## Supported action
No complete vendor fix is recorded. Follow the primary source's mitigation guidance and check this record again before closing anything.

## Required regression checks
- Run the test suite and a production build.
- Exercise the features that depend on github.com/aquaproj/aqua, github.com/aquaproj/aqua/v2.
- Repeat the inspection and confirm that only fixed versions remain installed.

## Rollback considerations
- Keep the previous lockfile and deployment artifact. Rolling back reinstates the vulnerable version, so apply any documented mitigation while you fix forward.

## Unresolved questions
- Which deployments run an affected version?
- Exploitation status can change. Check again before lowering the priority.
- Mark the work resolved only after the fixed version is verified in production.

## Sources
- Verified: https://osv.dev/vulnerability/GHSA-mf5c-hw34-4hpp (OSV record GHSA-mf5c-hw34-4hpp lists affected ranges: Go github.com/aquaproj/aqua/v2 >=0 <2.60.1 (fixed))
- Verified: https://osv.dev/vulnerability/GO-2026-6314 (OSV record GO-2026-6314 lists affected ranges: Go github.com/aquaproj/aqua >=0; Go github.com/aquaproj/aqua/v2 >=0 <2.60.1 (fixed))
- Verified: https://github.com/advisories/GHSA-mf5c-hw34-4hpp (GitHub-reviewed advisory GHSA-mf5c-hw34-4hpp lists affected ranges: Go github.com/aquaproj/aqua/v2 >=0 <2.60.1)

Commands are suggestions: review each one before running it.

Loading voting…