Bug 25607 - ansible new security issues CVE-2019-10206, CVE-2019-14846, and CVE-2019-14858
Summary: ansible new security issues CVE-2019-10206, CVE-2019-14846, and CVE-2019-14858
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: Security (show other bugs)
Version: 7
Hardware: All Linux
Priority: Normal normal
Target Milestone: ---
Assignee: QA Team
QA Contact: Sec team
URL: https://linuxsecurity.com/advisories/...
Whiteboard: MGA7-64-OK
Keywords: advisory, validated_update
Depends on:
Blocks:
 
Reported: 2019-10-24 17:36 CEST by Zombie Ryushu
Modified: 2019-11-02 17:56 CET (History)
6 users (show)

See Also:
Source RPM: ansible-2.7.12-1.mga7.src.rpm
CVE:
Status comment:


Attachments

Description Zombie Ryushu 2019-10-24 17:36:51 CEST
----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

=====================================================================
                   Red Hat Security Advisory

Synopsis:          Important: Ansible security and bug fix update
Advisory ID:       RHSA-2019:3203-01
Product:           Red Hat Ansible Engine
Advisory URL:      https://access.redhat.com/errata/RHSA-2019:3203
Issue date:        2019-10-24
CVE Names:         CVE-2019-14846 CVE-2019-14856 CVE-2019-14858 
=====================================================================

1. Summary:

An update is now available for Ansible Engine 2.8.

Red Hat Product Security has rated this update as having a security impact
of Important. A Common Vulnerability Scoring System (CVSS) base score,
which gives a detailed severity rating, is available for each vulnerability
from the CVE link(s) in the References section.

2. Relevant releases/architectures:

Red Hat Ansible Engine 2.8 for RHEL 7 Server - noarch
Red Hat Ansible Engine 2.8 for RHEL 8 - noarch

3. Description:

Ansible is a simple model-driven configuration management, multi-node
deployment, and remote-task execution system. Ansible works over SSH and
does not require any software or daemons to be installed on remote nodes.
Extension modules can be written in any language and are transferred to
managed machines automatically.

The following packages have been upgraded to a newer upstream version:
ansible (2.8.6)

Bug Fix(es):

* ansible: incomplete fix for CVE-2019-10206 (CVE-2019-14856)
* ansible: sub parameters marked as no_log are not masked in certain
failure scenarios (CVE-2019-14858)
* ansible: secrets disclosed on logs when no_log enabled (CVE-2019-14846)

See:

https://github.com/ansible/ansible/blob/v2.8.6/changelogs/CHANGELOG-v2.8.rs
t

for details on bug fixes in this release.

4. Solution:

For details on how to apply this update, which includes the changes
described in this advisory, refer to:

https://access.redhat.com/articles/11258

5. Bugs fixed (https://bugzilla.redhat.com/):

1755373 - CVE-2019-14846 ansible: secrets disclosed on logs when no_log enabled
1760593 - CVE-2019-14858 ansible: sub parameters marked as no_log are not masked in certain failure scenarios
1760829 - CVE-2019-14856 ansible: Incomplete fix for CVE-2019-10206

6. Package List:

Red Hat Ansible Engine 2.8 for RHEL 7 Server:

Source:
ansible-2.8.6-1.el7ae.src.rpm

noarch:
ansible-2.8.6-1.el7ae.noarch.rpm

Red Hat Ansible Engine 2.8 for RHEL 8:

Source:
ansible-2.8.6-1.el8ae.src.rpm

noarch:
ansible-2.8.6-1.el8ae.noarch.rpm

These packages are GPG signed by Red Hat for security.  Our key and
details on how to verify the signature are available from
https://access.redhat.com/security/team/key/

7. References:

https://access.redhat.com/security/cve/CVE-2019-14846
https://access.redhat.com/security/cve/CVE-2019-14856
https://access.redhat.com/security/cve/CVE-2019-14858
https://access.redhat.com/security/updates/classification/#important
https://github.com/ansible/ansible/blob/v2.8.6/changelogs/CHANGELOG-v2.8.rst

8. Contact:

The Red Hat security contact is . More contact
details at https://access.redhat.com/security/team/contact/

Copyright 2019 Red Hat, Inc.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIVAwUBXbGh+tzjgjWX9erEAQjZKA//acV1loN8Pz6ycRec8p5Iz3mm8kQES7cv
zXb/uiiHkUsPwsNO6gBl8/RmbkJNM2I0+UH+dBD6bfE/SwdqnebjTs8qzRv/WCSH
aeFZs3pC5sDw5lCiH+VnpqIPtnItL5fHi/doBgaPzU8zxc/uWDMuaOKfU/5tMFGK
poPWmbaH1Oq0f4n7dWwl9Z8nvowFS32d0damsQKLLGYD9DzYNs2UvJ7OD89EN/hf
3gBLg5LIegZB3EMKgXpZ8yfqhZw2QIY0B1EoF2SidC0ibgdQethyDeKSfAG1QrRd
PxK1/PsyyOqYq4/yAXaqmdHVAcMy7pVtqEIyDVCiu9L91yg2hKpkzXJcZBN58T7Z
fZwK2pHb4B1sP+lHFoBMvwxT7sBWlMOcbKM/EwHn/0cbrQHrNOG5F1WjjG1F2XNm
FJzdhqL/YRSeTKdrvhQWjfsDjAX0siZTKGqb9vJl4XqQGD7fkUCBleEdM5ibLrBS
e2oTqMRJZb8OgpcM97xJlB6Q/w81pKNhHVDGN5183nBfPqeBwhdlALSVCeLqTeal
Vjt1IA9Sq6Uu8zmofaNNF+0SjXydUD9/eaexDA4ZnchOZm59ZbtCGk7WGIlpGANB
nmt35uZpHQALv0dBZtRaj2h7UCWAUyp2ULRcx+jODauK5GzpitEIUQ9IbURTmx7t
AuIu66YTGk0=
=iZiv
-----END PGP SIGNATURE-----

--
RHSA-announce mailing list
RHSA-announce@redhat.com
Comment 1 Lewis Smith 2019-10-24 21:46:07 CEST
Thank you for this notification.
Assigning to Bruno for 'ansible'; CC DavidW for security.

CC: (none) => luigiwalser
QA Contact: (none) => security
Assignee: bugsquad => bruno
Source RPM: ansible => ansible-2.7.12-1.mga7.src.rpm
Component: RPM Packages => Security

Comment 2 David Walser 2019-10-27 17:03:22 CET
Zombie, please provide a link to the advisory and don't copy and paste the text.

Lewis, I am the security group, so I already get the e-mails.  You don't need to CC me.
Comment 3 David Walser 2019-10-27 17:11:27 CET
Advisory link from October 24:
https://access.redhat.com/errata/RHSA-2019:3203

It appears that all of the issues are fixed upstream in 2.7.14 and 2.8.6.

Version: 7 => Cauldron
Whiteboard: (none) => MGA7TOO
Summary: ansible Security update (CVE-2019-10206 (CVE-2019-14856) => ansible new security issues CVE-2019-10206, CVE-2019-14846, and CVE-2019-14858

Comment 4 Bruno Cornec 2019-10-28 22:53:00 CET
2.8.6 updated and pushed to cauldron

Status: NEW => ASSIGNED

Comment 5 Bruno Cornec 2019-10-28 23:16:05 CET
2.7.14 built for mga6 but I'm unable to push it:
- ansible-2.7.14-1.mga6.src:
 - FREEZE: repository 6 section core/updates_testing is frozen, you can still submit your packages in testing

Can someoneelse do it, or should I use another repo ?
Comment 6 Bruno Cornec 2019-10-28 23:19:05 CET
Pushed for mga7 to update_testing

Assignee: bruno => qa-bugs

Comment 7 David Walser 2019-10-29 03:11:56 CET
Thanks Bruno.  Please remember to leave yourself in CC when assigning to QA.  Mageia 6 is EOL.

Whiteboard: MGA7TOO => (none)
CC: (none) => bruno
Version: Cauldron => 7

Comment 8 David Walser 2019-10-29 03:17:39 CET
Advisory:
========================

Updated ansible package fixes security vulnerabilities:

ansible-playbook -k and ansible cli tools prompt passwords by expanding them
from templates as they could contain special characters. Passwords should be
wrapped to prevent templates trigger and exposing them (CVE-2019-10206).

Ansible was logging at the DEBUG level which lead to a disclosure of
credentials if a plugin used a library that logged credentials at the DEBUG
level. This flaw does not affect Ansible modules, as those are executed in a
separate process (CVE-2019-14846).

When a module has an argument_spec with sub parameters marked as no_log,
passing an invalid parameter name to the module will cause the task to fail
before the no_log options in the sub parameters are processed. As a result,
data in the sub parameter fields will not be masked and will be displayed if
Ansible is run with increased verbosity and present in the module invocation
arguments for the task (CVE-2019-14858).

References:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10206
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-14846
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-14858
https://access.redhat.com/errata/RHSA-2019:3203
========================

Updated packages in core/updates_testing:
========================
ansible-2.7.14-1.mga7

from ansible-2.7.14-1.mga7.src.rpm
Comment 9 Len Lawrence 2019-10-30 18:27:48 CET
Mageia7, x86_64

$ rpm -qa | grep ansible
ansible-2.7.12-1.mga7
Updated from updates-testing.
$ rpm -qa | grep ansible                                     
ansible-2.7.14-1.mga7

Created a /tmp/hosts file containing IP addresses of local network hosts, some  inaccessible because the machines wereswitched off.

$ ansible -i /tmp/hosts all -m ping
[...]
192.168.1.bb | SUCCESS => {
    "changed": false,
    "ping": "pong"
}
192.168.1.ddd | UNREACHABLE! => {
    "changed": false,
    "msg": "Failed to connect to the host via ssh: ssh: connect to host 192.168.1.ddd port 22: No route to host",
    "unreachable": true
}
192.168.1.ee | UNREACHABLE! => {
    "changed": false,
    "msg": "Failed to connect to the host via ssh: ssh: connect to host 192.168.1.ee port 22: No route to host",
    "unreachable": true
}

The elided section contains the same localhost message as in the following example.  Does not seem to like localhost.  Remote hosts are OK.

$ ansible -i /etc/ansible/hosts all -a "echo hello"
192.168.1.aaa | UNREACHABLE! => {
    "changed": false,
    "msg": "Failed to connect to the host via ssh: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r\n@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @\r\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r\nIT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!\r\nSomeone could be eavesdropping on you right now (man-in-the-middle attack)!\r\nIt is also possible that a host key has just been changed.\r\nThe fingerprint for the ECDSA key sent by the remote host is\nSHA256:..............................\r\nPlease contact your system administrator.\r\nAdd correct host key in /home/lcl/.ssh/known_hosts to get rid of this message.\r\nOffending ECDSA key in /home/lcl/.ssh/known_hosts:25\r\nChallenge/response authentication is disabled to avoid man-in-the-middle attacks.\r\nAgent forwarding is disabled to avoid man-in-the-middle attacks.\r\nX11 forwarding is disabled to avoid man-in-the-middle attacks.\r\nlcl@192.168.1.103: Permission denied (publickey,password,keyboard-interactive).",
    "unreachable": true
}
192.168.1.bb | CHANGED | rc=0 >>
hello

Reduced /tmp/hosts to just one host.

$ ansible -i /tmp/hosts all -a "stellarium"
192.168.1.bb | FAILED | rc=-11 >>
 -----------------------------------------------------
[ This is Stellarium 0.19.0 - https://stellarium.org/ ]
[ Copyright (C) 2000-2019 Fabien Chereau et al.       ]
 -----------------------------------------------------
Writing log file to: "/home/lcl/.stellarium/log.txt"

The stellarium logo appeared on localhost monitor so it was a partial success.

$ ansible -i /tmp/hosts all -a "/home/lcl/bin/weatherview"

That works perfectly - brings up a ruby-tk gui which respondes to mouse and keyboard events on the local machine.  Ran the same application directly on localhost.  The two guis are shown at different sizes to reflect that the applications have been scaled to suit the two different monitors.  The remote machine has 2560x1440 and this one is 4K.

These simple tests are as far as ansible can be taken here without more training.  Good for 64-bits.

Whiteboard: (none) => MGA7-64-OK
CC: (none) => tarazed25

Comment 10 Thomas Andrews 2019-10-30 22:02:46 CET
Thank you, Len. Validating. Advisory in Comment 8.

Keywords: (none) => validated_update
CC: (none) => andrewsfarm, sysadmin-bugs

Thomas Backlund 2019-11-02 16:12:04 CET

CC: (none) => tmb
Keywords: (none) => advisory

Comment 11 Mageia Robot 2019-11-02 17:56:09 CET
An update for this issue has been pushed to the Mageia Updates repository.

https://advisories.mageia.org/MGASA-2019-0309.html

Status: ASSIGNED => RESOLVED
Resolution: (none) => FIXED


Note You need to log in before you can comment on or make changes to this bug.