---
id: CVE-2026-103754
title: A flaw was found in ansible-runner
summary: >-
  A flaw was found in ansible-runner. The unstream_dir() function, which
  receives and extracts a streamed zip archive on the worker side of the
  ansible-runner transmit/worker protocol, re-creates symbolic links from
  archive content without…
severity: medium
cvss: 5.9
cvssVector: 'CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:L'
cwe:
  - CWE-22
vendor: Red Hat
product: automation-controller
affected:
  - automation-controller (all versions)
published: '2026-10-01'
updated: '2026-10-01'
sourceUpdated: '2026-10-01T12:41:25.413'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-103754'
references:
  - url: 'https://access.redhat.com/security/cve/CVE-2026-103754'
    label: secalert@redhat.com
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2544510'
    label: secalert@redhat.com
  - url: 'https://github.com/ansible/ansible-runner/pull/1550'
    label: secalert@redhat.com
tags:
  - nvd
  - cve.org
ingestedAt: '2026-10-01T12:43:54.811Z'
---

## Overview

A flaw was found in ansible-runner. The unstream_dir() function, which receives and extracts a streamed zip archive on the worker side of the ansible-runner transmit/worker protocol, re-creates symbolic links from archive content without validating the link target and applies chmod() and utime() to an unsanitized filesystem path derived from the archive member name. A crafted archive processed by a worker that consumes attacker-influenced input can create files, create symbolic links, or change permissions outside the intended target directory, which can be leveraged toward code execution.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
