5.3med

CVE-2017-7481

Ansible fails to properly mark lookup-plugin results as unsafe

Also known as GHSA-w578-j992-554x, PYSEC-2018-41

Published 8 y ago · modified 4 mo ago · JSON

CVSS
5.3
v3.0 · CNA
CISA KEV
No
not known exploited
EPSS
4.7%
percentile 92%
Public exploits
0
none known

Summary

Ansible before versions 2.3.1.0 and 2.4.0.0 fails to properly mark lookup-plugin results as unsafe. If an attacker could control the results of lookup() calls, they could inject Unicode strings to be parsed by the jinja2 templating system, resulting in code execution. By default, the jinja2 templating language is now marked as 'unsafe' and is not evaluated.

Exploit prediction (EPSS)

4.74% probability of exploitation in the next 30 days, higher than 92% of all scored CVEs.

CVSS scores

Assigned byVersionScoreVector
CNA3.05.3CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:N
NVD3.19.8CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CNA3.05.3CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:N
NVD2.07.5AV:N/AC:L/Au:N/C:P/I:P/A:P
GitHub3.19.8CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Affected packages

EcosystemPackageAffectedFixed in
pypiansible
>=2.3.0.0, <2.3.1.0
<2.1.6.0
>=2.2.0.0, <2.2.3.0
<2.3.1.0
>=2.3.2.0, <2.4.0.0
2.3.1.0
2.1.6.0
2.2.3.0
2.4.0.0

Affected products

  • [UNKNOWN] ansible

Classification

Weakness
  • CWE-20 Improper Input Validation

References

  • access.redhat.com /errata/RHSA-2017:1599 · vendor-advisory, x_refsource_REDHAT, x_transferred
  • bugzilla.redhat.com /show_bug.cgi?id=CVE-2017-7481 · x_refsource_CONFIRM, x_transferred
  • access.redhat.com /errata/RHSA-2017:1334 · vendor-advisory, x_refsource_REDHAT, x_transferred
  • securityfocus.com /bid/98492 · vdb-entry, x_refsource_BID, x_transferred
  • github.com /ansible/ansible/commit/ed56f51f185a1ffd7ea57130d260098686fcc7c2 · x_refsource_CONFIRM, x_transferred
  • access.redhat.com /errata/RHSA-2017:1244 · vendor-advisory, x_refsource_REDHAT, x_transferred
  • access.redhat.com /errata/RHSA-2017:1499 · vendor-advisory, x_refsource_REDHAT, x_transferred
  • access.redhat.com /errata/RHSA-2017:2524 · vendor-advisory, x_refsource_REDHAT, x_transferred
  • access.redhat.com /errata/RHSA-2017:1476 · vendor-advisory, x_refsource_REDHAT, x_transferred
  • usn.ubuntu.com /4072-1/ · vendor-advisory, x_refsource_UBUNTU, x_transferred
  • lists.debian.org /debian-lts-announce/2021/01/msg00023.html · mailing-list, x_refsource_MLIST, x_transferred
  • nvd.nist.gov /vuln/detail/CVE-2017-7481 · advisory
  • github.com /ansible/ansible/commit/fd30f5328986f9e1da434474481f32bf918a600c · web
  • github.com /ansible/ansible/commit/f0e348f5eeb70c1fb3127d90891da43b5c0a9d29 · web
  • github.com /ansible/ansible/commit/a1886911fcf4b691130cfc70dfc5daa5e07c46a3 · web
  • web.archive.org /web/20170801122609/http://www.securityfocus.com/bid/98492 · web
  • usn.ubuntu.com /4072-1 · web
  • github.com /pypa/advisory-database/tree/main/vulns/ansible/PYSEC-2018-41.yaml · web
  • github.com /ansible/ansible · package
  • github.com /advisories/GHSA-w578-j992-554x · advisory

Sources

vulnwire keeps one entry per vulnerability: the CVE id wins, then GHSA; records that alias each other are merged. Machine-readable: JSON.