Every CVE Search/ Get API key

CVE-2016-3096

Link Following in ansible

7.8 HighFix available

The create_script function in the lxc_container module in Ansible before 1.9.6-1 and 2.x before 2.0.2.0 allows local users to write to arbitrary files or gain privileges via a symlink attack on (1) /opt/.lxc-attach-script, (2) the archived container in the archive_path directory, or the (3) lxc-attach-script.log or (4) lxc-attach-script.err files in the temporary directory.

Attack profile

How easy it is to exploit

Attack vector
Local
Complexity
Low
Privileges needed
Low
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
High
Availability
High

Exploit likelihood

0.47%Down 1.1 points since Feb 4, 2022
90%50%10%1%

What each source reports

NVD Score used 7.8

The create_script function in the lxc_container module in Ansible before 1.9.6-1 and 2.x before 2.0.2.0 allows local users to write to arbitrary files or gain privileges via a symlink attack on (1) /opt/.lxc-attach-script, (2) the archived container in the archive_path directory, or the (3) lxc-attach-script.log or (4) lxc-attach-script.err files in the temporary directory.

Record
CVE-2016-3096
CVSS 3.0
7.8 HighCVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS 2.0
7.2 HighAV:L/AC:L/Au:N/C:C/I:C/A:C
Weakness
CWE-59
Updated
2026-11-02
CVE List No score

The create_script function in the lxc_container module in Ansible before 1.9.6-1 and 2.x before 2.0.2.0 allows local users to write to arbitrary files or gain privileges via a symlink attack on (1) /opt/.lxc-attach-script, (2) the archived container in the archive_path directory, or the (3) lxc-attach-script.log or (4) lxc-attach-script.err files in the temporary directory.

Record
CVE-2016-3096
Updated
2026-11-02
EUVDEUVD-2016-0001 No score

The create_script function in the lxc_container module in Ansible before 1.9.6-1 and 2.x before 2.0.2.0 allows local users to write to arbitrary files or gain privileges via a symlink attack on (1) /opt/.lxc-attach-script, (2) the archived container in the archive_path directory, or the (3) lxc-attach-script.log or (4) lxc-attach-script.err files in the temporary directory.

Record
EUVD-2016-0001
Updated
2026-11-03
GitHub AdvisoriesGHSA-rh6x-qvg7-rrmj 8.5

Link Following in ansible

The create_script function in the lxc_container module in Ansible before 1.9.6-1 and 2.x before 2.0.2.0 allows local users to write to arbitrary files or gain privileges via a symlink attack on (1) /opt/.lxc-attach-script, (2) the archived container in the archive_path directory, or the (3) lxc-attach-script.log or (4) lxc-attach-script.err files in the temporary directory.

Record
GHSA-rh6x-qvg7-rrmj
CVSS 4.0
8.5 HighCVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
CVSS 3.0
7.8 HighCVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-59
Updated
2026-11-02
OSV 7.8

The create_script function in the lxc_container module in Ansible before 1.9.6-1 and 2.x before 2.0.2.0 allows local users to write to arbitrary files or gain privileges via a symlink attack on (1) /opt/.lxc-attach-script, (2) the archived container in the archive_path directory, or the (3) lxc-attach-script.log or (4) lxc-attach-script.err files in the temporary directory.

Record
CVE-2016-3096
CVSS 3.0
7.8 HighCVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVDEBIAN-CVE-2016-3096 7.8

The create_script function in the lxc_container module in Ansible before 1.9.6-1 and 2.x before 2.0.2.0 allows local users to write to arbitrary files or gain privileges via a symlink attack on (1) /opt/.lxc-attach-script, (2) the archived container in the archive_path directory, or the (3) lxc-attach-script.log or (4) lxc-attach-script.err files in the temporary directory.

Record
DEBIAN-CVE-2016-3096
CVSS 3.0
7.8 HighCVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
Show 10 moreShow less
OSVGHSA-rh6x-qvg7-rrmj 8.5

Link Following in ansible

The create_script function in the lxc_container module in Ansible before 1.9.6-1 and 2.x before 2.0.2.0 allows local users to write to arbitrary files or gain privileges via a symlink attack on (1) /opt/.lxc-attach-script, (2) the archived container in the archive_path directory, or the (3) lxc-attach-script.log or (4) lxc-attach-script.err files in the temporary directory.

Record
GHSA-rh6x-qvg7-rrmj
CVSS 4.0
8.5 HighCVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
CVSS 3.0
7.8 HighCVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-59
Updated
2026-11-02
OSVUBUNTU-CVE-2016-3096 7.8

The create_script function in the lxc_container module in Ansible before 1.9.6-1 and 2.x before 2.0.2.0 allows local users to write to arbitrary files or gain privileges via a symlink attack on (1) /opt/.lxc-attach-script, (2) the archived container in the archive_path directory, or the (3) lxc-attach-script.log or (4) lxc-attach-script.err files in the temporary directory.

Record
UBUNTU-CVE-2016-3096
CVSS 3.0
7.8 HighCVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVMGASA-2016-0163 No score

Updated ansible packages fix CVE-2016-3096

Updated ansible package fixes security vulnerability:

A vulnerability in lxc_container, ansible module, was found allowing to get root inside the container. The problem is in the create_script function, which tries to write to /opt/.lxc-attach-script inside of the container. If the attacker can write to /opt/.lxc-attach-script before that, he can overwrite arbitrary files or execute commands as root (CVE-2016-3096).

Record
MGASA-2016-0163
Updated
2026-11-02
OSVopenSUSE-SU-2024:10326-1 No score

ansible-2.2.0.0-1.1 on GA media

These are all security issues fixed in the ansible-2.2.0.0-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:10326-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:14244-1 No score

ansible-9-9.8.0-1.1 on GA media

These are all security issues fixed in the ansible-9-9.8.0-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:14244-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:14536-1 No score

ansible-10-10.6.0-1.1 on GA media

These are all security issues fixed in the ansible-10-10.6.0-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:14536-1
Updated
2026-11-02
OSVopenSUSE-SU-2025:15605-1 No score

ansible-11-11.11.0-1.1 on GA media

These are all security issues fixed in the ansible-11-11.11.0-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2025:15605-1
Updated
2026-11-02
OSVopenSUSE-SU-2025:15753-1 No score

ansible-12-12.2.0-1.1 on GA media

These are all security issues fixed in the ansible-12-12.2.0-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2025:15753-1
Updated
2026-11-02
OSVopenSUSE-SU-2026:10944-1 No score

ansible-13-13.7.0-1.1 on GA media

These are all security issues fixed in the ansible-13-13.7.0-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2026:10944-1
Updated
2026-11-02
OSVPYSEC-2016-1 No score

The create_script function in the lxc_container module in Ansible before 1.9.6-1 and 2.x before 2.0.2.0 allows local users to write to arbitrary files or gain privileges via a symlink attack on (1) /opt/.lxc-attach-script, (2) the archived container in the archive_path directory, or the (3) lxc-attach-script.log or (4) lxc-attach-script.err files in the temporary directory.

Record
PYSEC-2016-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
ansible
PyPI
through 1.9.6.0
1.9.6.1
ansible
PyPI
2.0.0.0 to 2.0.1.0
2.0.2.0
ansible
Debian:12
before 2.0.1.0-2
2.0.1.0-2
ansible
Debian:13
before 2.0.1.0-2
2.0.1.0-2
ansible
Debian:14
before 2.0.1.0-2
2.0.1.0-2
ansible
PyPI
2.0.0.0 up to 2.0.2.0, plus listed versions
2.0.02.0.0.12.0.0.22.0.1.0
2.0.2.0
ansible
PyPI
before 1.9.6.1, plus listed versions
1.01.11.21.2.11.2.2
Show 45 moreShow less
1.2.31.3.01.3.11.3.21.3.31.3.41.41.4.11.4.21.4.31.4.41.4.51.51.5.11.5.21.5.31.5.41.5.51.61.6.11.6.101.6.21.6.31.6.41.6.51.6.61.6.71.6.81.6.91.71.7.11.7.21.81.8.11.8.21.8.31.8.41.9.01.9.0.11.9.11.9.21.9.31.9.41.9.51.9.6
1.9.6.1
ansible
Mageia:5
before 1.9.6-1.mga5
1.9.6-1.mga5
ansible
PyPI
before 2.0.2.0, plus listed versions
1.01.11.21.2.11.2.2
Show 45 moreShow less
1.2.31.3.01.3.11.3.21.3.31.3.41.41.4.11.4.21.4.31.4.41.4.51.51.5.11.5.21.5.31.5.41.5.51.61.6.11.6.101.6.21.6.31.6.41.6.51.6.61.6.71.6.81.6.91.71.7.11.7.21.81.8.11.8.21.8.31.8.41.9.01.9.0.11.9.11.9.21.9.31.9.41.9.51.9.6
2.0.2.0
ansible
Ubuntu:16.04:LTS
before 2.0.0.2-2ubuntu1.3, plus listed versions
1.9.2+dfsg-21.9.4-12.0.0.2-22.0.0.2-2ubuntu12.0.0.2-2ubuntu1.12.0.0.2-2ubuntu1.2
2.0.0.2-2ubuntu1.3
Show 6 moreShow less
Affected packages
PackageAffectedFixed
ansible
openSUSE:Tumbleweed
before 2.2.0.0-1.1
2.2.0.0-1.1
ansible-9
openSUSE:Tumbleweed
before 9.8.0-1.1
9.8.0-1.1
ansible-10
openSUSE:Tumbleweed
before 10.6.0-1.1
10.6.0-1.1
ansible-11
openSUSE:Tumbleweed
before 11.11.0-1.1
11.11.0-1.1
ansible-12
openSUSE:Tumbleweed
before 12.2.0-1.1
12.2.0-1.1
ansible-13
openSUSE:Tumbleweed
before 13.7.0-1.1
13.7.0-1.1

History

History
RecordedChangedSources
aliasesEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2016-3096 is a high vulnerability (CVSS 7.8) in Redhat Ansible, published May 5, 2016. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.47%, the 40th percentile. Fixed in ansible 1.9.6.1.

References

Show 64 moreShow less
This page doesn't list everything

Left out here: 5 versions. The JSON record has them.

MoveEnter Open