CVE catalog

CVE-2026-89091

A flaw was found in ansible-core. When installing a collection with `ansible-galaxy collection install`, the archive extractor validates member paths using lexical path normalisation (os.path.abspath)

[CVE catalog]

Severity
High · CVSS 8.8CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Published
Updated
Source
[NVD] · [CVE record]
EPSS
0.48% · Oct 27, 2026

A flaw was found in ansible-core. When installing a collection with `ansible-galaxy collection install`, the archive extractor validates member paths using lexical path normalisation (os.path.abspath) instead of resolving symbolic links (os.path.realpath), and it performs no containment check on symlink-typed directory members before creating them. A crafted collection tarball can chain symlink directory entries so that a subsequent file member is written outside the intended destination directory. This allows an attacker who can get a victim to install a malicious collection to overwrite arbitrary files with the privileges of the user running ansible-galaxy, leading to code execution on the control node. This is a bypass of the fix for CVE-2020-10691.

Vulnerable and fixed packages

Distribution-reported package versions and fixes. These do not depend on matching against the OpenFactory package catalog.

DistributionPackageReleaseVersionStatus
Debianansible-coresid2.22.0~beta2-1vulnerable
Debianansible-coreforky2.22.0~beta2-1vulnerable
Debianansible-coretrixie2.19.11-0+deb13u1vulnerable
Debianansible-corebookworm2.14.18-0+deb12u2vulnerable
Opensuseansible-core-2.20tumbleweed2.20.10-2.1fixed
Opensuseansible-core-2.19tumbleweed2.19.14-2.1fixed
Opensuseansible-coretumbleweed2.21.5-2.1fixed
Opensuseansible-core-2.18tumbleweed2.18.19-3.1fixed

Fixed-version evidence

DistributionPackageTypeReleaseFixed versionUrgencyOriginBugs
Debianansible-coresourcesid(unfixed)not yet assignedNot reportedNot reported
Debianansible-coresourceforky(unfixed)not yet assignedNot reportedNot reported
Debianansible-coresourcetrixie(unfixed)not yet assignedNot reportedNot reported
Debianansible-coresourcebookworm(unfixed)not yet assignedNot reportedNot reported
Opensuseansible-core-2.20rpmtumbleweed2.20.10-2.1Not reportedOPENSUSE-SU-2026:12175-1Not reported
Opensuseansible-core-2.19rpmtumbleweed2.19.14-2.1Not reportedOPENSUSE-SU-2026:12174-1Not reported
Opensuseansible-corerpmtumbleweed2.21.5-2.1Not reportedOPENSUSE-SU-2026:12172-1Not reported
Opensuseansible-core-2.18rpmtumbleweed2.18.19-3.1Not reportedOPENSUSE-SU-2026:12173-1Not reported

OpenFactory catalog packages

[Debian 12 (Bookworm)]

  • [ansible-core]Affected
    Details (2)
    • 2.14.18-0+deb12u2 · all · bookworm

      Affected

      nvd · ansible-core · debian · bookworm; nvd · ansible-core · debian · 12

    • 2.14.18-0+deb12u2 · all · bookworm

      Affected

      nvd · ansible-core · debian · bookworm; nvd · ansible-core · debian · 12

[Debian 13 (Trixie)]

  • [ansible-core]Affected
    Details (2)
    • 2.19.4-0+deb13u1 · all · trixie

      Affected

      nvd · ansible-core · debian · 13

    • 2.19.4-0+deb13u1 · all · trixie

      Affected

      nvd · ansible-core · debian · 13

[openSUSE Tumbleweed]

  • [ansible-core]Affected

    Source package: [ansible-core]

    Details (1)
    • 2.21.3-1.1 · noarch · tumbleweed

      Affected · Fixed: 2.21.5-2.1

      nvd · ansible-core · opensuse · tumbleweed

  • Source package: [ansible-core-2.18]

    Details (1)
    • 2.18.19-1.1 · noarch · tumbleweed

      Affected · Fixed: 2.18.19-3.1

      nvd · ansible-core-2.18 · opensuse · tumbleweed

  • Source package: [ansible-core-2.19]

    Details (1)
    • 2.19.12-1.1 · noarch · tumbleweed

      Affected · Fixed: 2.19.14-2.1

      nvd · ansible-core-2.19 · opensuse · tumbleweed

  • Source package: [ansible-core-2.20]

    Details (1)
    • 2.20.8-1.1 · noarch · tumbleweed

      Affected · Fixed: 2.20.10-2.1

      nvd · ansible-core-2.20 · opensuse · tumbleweed

  • [ansible-test]Unknown

    Source package: [ansible-core]

    Details (1)
    • 2.21.3-1.1 · noarch · tumbleweed

      Unknown · Fixed: 2.21.5-2.1

      Version impact unknown

      nvd · ansible-core · opensuse · tumbleweed

  • Source package: [ansible-core-2.18]

    Details (1)
    • 2.18.19-1.1 · noarch · tumbleweed

      Unknown · Fixed: 2.18.19-3.1

      Version impact unknown

      nvd · ansible-core-2.18 · opensuse · tumbleweed

  • Source package: [ansible-core-2.19]

    Details (1)
    • 2.19.12-1.1 · noarch · tumbleweed

      Unknown · Fixed: 2.19.14-2.1

      Version impact unknown

      nvd · ansible-core-2.19 · opensuse · tumbleweed

  • Source package: [ansible-core-2.20]

    Details (1)
    • 2.20.8-1.1 · noarch · tumbleweed

      Unknown · Fixed: 2.20.10-2.1

      Version impact unknown

      nvd · ansible-core-2.20 · opensuse · tumbleweed

Observed:

References