A vulnerability was found in Ansible engine 2.x up to 2.8 and Ansible tower 3.x up to 3.5. 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.
Information written to log files can be of a sensitive nature and give valuable guidance to an attacker or expose sensitive user information.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Ansible_engine | Redhat | 2.0 (including) | 2.8.0 (including) |
Ansible_tower | Redhat | 3.0 (including) | 3.5.0 (including) |
Red Hat Ansible Engine 2.6 for RHEL 7 | RedHat | ansible-0:2.6.20-1.el7ae | * |
Red Hat Ansible Engine 2.7 for RHEL 7 | RedHat | ansible-0:2.7.14-1.el7ae | * |
Red Hat Ansible Engine 2.8 for RHEL 7 | RedHat | ansible-0:2.8.6-1.el7ae | * |
Red Hat Ansible Engine 2.8 for RHEL 8 | RedHat | ansible-0:2.8.6-1.el8ae | * |
Red Hat Ansible Engine 2 for RHEL 7 | RedHat | ansible-0:2.8.6-1.el7ae | * |
Red Hat Ansible Engine 2 for RHEL 8 | RedHat | ansible-0:2.8.6-1.el8ae | * |
Red Hat OpenStack Platform 13.0 (Queens) | RedHat | ansible-0:2.6.20-1.el7ae | * |
Red Hat OpenStack Platform 13.0 (Queens) for RHEL 7.6 EUS | RedHat | ansible-0:2.6.20-1.el7ae | * |
Ansible | Ubuntu | bionic | * |
Ansible | Ubuntu | disco | * |
Ansible | Ubuntu | eoan | * |
Ansible | Ubuntu | trusty | * |
Ansible | Ubuntu | trusty/esm | * |
Ansible | Ubuntu | xenial | * |
While logging all information may be helpful during development stages, it is important that logging levels be set appropriately before a product ships so that sensitive user data and system information are not accidentally exposed to potential attackers. Different log files may be produced and stored for: