You are here
Home > Preporuke > Sigurnosni nedostaci programskog paketa ansible

Sigurnosni nedostaci programskog paketa ansible

  • Detalji os-a: WN7
  • Važnost: IMP
  • Operativni sustavi: L
  • Kategorije: LSU

openSUSE Security Update: Security update for ansible

Announcement ID: openSUSE-SU-2019:0238-1
Rating: moderate
References: #1056094 #1097775
Cross-References: CVE-2017-7466 CVE-2017-7481 CVE-2018-10855
CVE-2018-10875 CVE-2018-16859 CVE-2018-16876

Affected Products:
openSUSE Backports SLE-15

An update that fixes 6 vulnerabilities is now available.


This update for ansible fixes the following issues:

Security vulnerabilities fixed:

– CVE-2018-16876: Respect no_log on retry and high verbosity (bsc#1118896)
– CVE-2018-16859: Windows – prevent sensitive content from appearing in
scriptblock logging (bsc#1116587)
– CVE-2018-10855: Fixed the honouration of the no_log option with failed
task iterations (boo#1097775)
– CVE-2017-7466: Fixed an input validation vulnerability in Ansible’s
of data sent from client systems
– CVE-2017-7481: Fixed a security issue with lookup return not tainting
the jinja2 environment (bsc#1038785)

Other bug fixes and changes:

– Update to version 2.7.6
* Added log message at -vvvv when using netconf connection listing
connection details.
* Changes how ansible-connection names socket lock files. They now use
the same name as the socket itself, and as such do not lock other
attempts on connections to the same host, or cause issues with
overly-long hostnames.
* Fix mandatory statement error for junos modules
* Moved error in netconf connection plugin from at import to on
* This reverts some changes from commit 723daf3. If a line is found in
the file, exactly or via regexp matching, it must not be added again.
insertafter/insertbefore options are used only when a line is to be
inserted, to specify where it must be added.
* allow using openstack inventory plugin w/o a cache
* callbacks – Do not filter out exception, warnings, deprecations on
failure when using debug
* certificate_complete_chain – fix behavior when invalid file is parsed
while reading intermediate or root certificates.
* copy – Ensure that the src file contents is converted to unicode in
diff information so that it is properly wrapped by AnsibleUnsafeText
to prevent unexpected templating of diff data in Python3
* correct behaviour of verify_file for vmware inventory plugin, it was
always returning True
* dnf – fix issue where conf_file was not being loaded properly
* dnf – fix update_cache combined with install operation to not cause
dnf transaction failure
* docker_container – fix network_mode idempotency if the
container:<container-name> form is used (as opposed to
* docker_container – warning when non-string env values are found,
avoiding YAML parsing issues. Will be made an error in Ansible 2.8.
* docker_swarm_service – Document labels and container_labels with
correct type.
* docker_swarm_service – Document limit_memory and reserve_memory
correctly on how to specify sizes.
* docker_swarm_service – Document minimal API version for configs and
* docker_swarm_service – fix use of Docker API so that services are not
detected as present if there is an existing service whose name is a
substring of the desired service
* docker_swarm_service – fixing falsely reporting update_order as
changed when option is not used.
* document old option that was initally missed
* ec2_instance now respects check mode
* fix for network_cli – ansible_command_timeout not working as expected
* fix handling of firewalld port if protocol is missing
* fix lastpass lookup failure on python 3
* flatpak – Fixed Python 2/3 compatibility
* flatpak – Fixed issue where newer versions of flatpak failed on
flatpak removal
* flatpak_remote – Fixed Python 2/3 compatibility
* gcp_compute_instance – fix crash when the instance metadata is not set
* grafana_dashboard – Fix a pair of unicode string handling issues with
version checking (
* host execution order – Fix reverse_inventory not to change the order
of the items before reversing on python2 and to not backtrace on
* icinga2_host – fixed the issue with not working use_proxy option of
the module.
* influxdb_user – An unspecified password now sets the password to
blank, except on existing users. This previously caused an unhandled
* influxdb_user – Fixed unhandled exception when using invalid login
credentials (
* openssl_* – fix error when path contains a file name without path.
* openssl_csr – fix problem with idempotency of keyUsage option.
* openssl_pkcs12 – now does proper path expansion for ca_certificates.
* os_security_group_rule – os_security_group_rule doesn’t exit properly
when secgroup doesn’t exist and state=absent
* paramiko_ssh – add auth_timeout parameter to ssh.connect when
supported by installed paramiko version. This will prevent
“Authentication timeout” errors when a slow authentication step (>30s)
happens with a host (
* purefa_facts and purefb_facts now correctly adds facts into main
ansible_fact dictionary (
* reboot – add appropriate commands to make the plugin work with VMware
ESXi (
* reboot – add support for rebooting AIX
* reboot – gather distribution information in order to support Alpine
and other distributions
* reboot – search common paths for the shutdown command and use the full
path to the binary rather than depending on the PATH of the remote
system (
* reboot – use a common set of commands for older and newer Solaris and
SunOS variants (
* redfish_utils – fix reference to local variable ‘systems_service’
* setup – fix the rounding of the ansible_memtotal_mb value on VMWare
vm’s (
* vultr_server – fixed multiple ssh keys were not handled.
* win_copy – Fix copy of a dir that contains an empty directory –
* win_firewall_rule – Remove invalid ‘bypass’ action
* win_lineinfile – Fix issue where a malformed json block was returned
causing an error
* win_updates – Correctly report changes on success

– update to version 2.7.5
* ACME modules: improve error messages in some cases (include error
returned by server).
* Added unit test for VMware module_utils.
* Also check stdout for interpreter errors for more intelligent messages
to user
* Backported support for Devuan-based distribution
* Convert hostvars data in OpenShift inventory plugin to be serializable
by ansible-inventory
* Fix AttributeError (Python 3 only) when an exception occurs while
rendering a template
* Fix N3K power supply facts
* Fix NameError nxos_facts
* Fix VMware module utils for self usage.
* Fix error in OpenShift inventory plugin when a pod has errored and is
* Fix if the route table changed to none
* Fix iosxr netconf plugin response namespace
* Fix issues with nxos_install_os module for nxapi
* Fix lldp and cdp neighbors information
* Fix nxos_interface and nxos_linkagg Idempotence issue
* Fix traceback when updating facts and the fact cache plugin was
* Fix using vault encrypted data with jinja2_native
* Fixed: Make sure that the files excluded when extracting the archive
are not checked.
* Fixes issue where a password parameter was not set to no_log
* aci_rest – Fix issue ignoring custom port
* acme_account, acme_account_facts – in some cases, it could happen that
the modules return information on disabled accounts accidentally
returned by the ACME server.
* docker_swarm – decreased minimal required API version from 1.35 to
1.25; some features require API version 1.30 though.
* docker_swarm_service: fails because of default “user: root”
* ec2_metadata_facts – Parse IAM role name from the security credential
field since the instance profile name is different
* fix azure_rm_image module use positional parameter
* fixes an issue with dict_merge in network utils
* gcp_utils – fix google auth scoping issue with application default
credentials or google cloud engine credentials. Only scope credentials
that can be scoped.
* mail – fix python 2.7 regression
* openstack – fix parameter handling when cloud provided as dict
* os_user – Include domain parameter in user deletion
* os_user – Include domain parameter in user lookup
* ovirt_storage_connection – comparing passwords breaks idempotency in
update_check (
* paramiko_ssh – improve log message to state the connection type
* reboot – use IndexError instead of TypeError in exception
* redis cache – Support version 3 of the redis python library
* sensu_silence – Cast int for expire field to avoid call failure to
sensu API.
* vmware_host_service_facts – handle exception when service package does
not have package name.
* win_nssm – Switched to Argv-ToString for escaping NSSM credentials
* zabbix_hostmacro – Added missing validate_certs logic for running
module against Zabbix servers with untrused SSL certificates
* zabbix_hostmacro – Fixed support for user macros with context

– update to version 2.7.4
* powershell – add lib/ansible/executor/powershell to the packaging data

– update to version 2.7.3
* Fix the issue that FTD HTTP API retries authentication-related HTTP
* Fix the issue that module fails when the Swagger model does not have
required fields
* Fix the issue with comparing string-like objects
* Fix using omit on play keywords
* apt_key – Disable TTY requirement in GnuPG for the module to work
correctly when SSH pipelining is enabled
* better error message when bad type in config, deal with EVNAR= more
* configuration retrieval would fail on non primed plugins
* cs_template – Fixed a KeyError on state=extracted
* docker_container – fix idempotency problems with docker-py caused by
previous init idempotency fix
* docker_container – fix interplay of docker-py version check with
argument_spec validation improvements
* docker_network – driver_options containing Python booleans would cause
Docker to throw exceptions
* ec2_group – Fix comparison of determining which rules to purge by
ignoring descriptions
* pip module – fix setuptools/distutils replacement
* sysvinit – enabling a service should use “defaults” if no runlevels
are specified

– update to version 2.7.2
* Minor changes

– update to 2.7.1
* Minor changes

– update to 2.7.0
* Allow config to enable native jinja types
* Remove support for simplejson
* yum and dnf modules now at feature parity
* Security Fix – avoid loading host/group vars from cwd when not
specifying a playbook or playbook base dir
* Security Fix – avoid using ansible.cfg in a world writable dir
* Some connection exception would cause no_log specified on a task to be
ignored (stdout info disclosure)
* Fix glob path of rc.d (SUSE-specific)
* Fix lambda_policy updates
* Fix alt linux detection/matching

– update to 2.6.4
* Add md5sum check in nxos_file_copy module
* Allow arbitrary log_driver for docker_container
* Fix Python2.6 regex bug terminal plugin nxos, iosxr
* Fix check_mode in nxos_static_route module
* Fix glob path of rc.d Some distribtuions like SUSE has the rc%.d
directories under /etc/init.d
* Fix network config diff issue for lines
* Fixed an issue where ansible_facts.pkg_mgr would incorrectly set to
zypper on Debian/Ubuntu systems that happened to have the command
* The docker_* modules respect the DOCKER_* environment variables again
* The fix for CVE-2018-10875 prints out a warning message about skipping
a config file from a world writable current working directory.
However, if the user is in a world writable current working directory
which does not contain a config file, it should not print a warning
message. This release fixes that extaneous warning.
* To resolve nios_network issue where vendor-encapsulated-options can
not have a use_option flag.
* To resolve the issue of handling exception for Nios lookup gracefully.
* always correctly template no log for tasks
* ansible-galaxy – properly list all roles in roles_path
* – catch ValueError in case a FIPS enabled platform raises
this exception
* docker_container: fixing working_dir idempotency problem
* docker_container: makes unit parsing for memory sizes more consistent,
and fixes idempotency problem when kernel_memory is set
* fix example code for AWS lightsail documentation
* fix the enable_snat parameter that is only supposed to be used by an
user with the right policies.
* fixes docker_container check and debug mode
* improves docker_container idempotency
* ios_l2_interface – fix bug when list of vlans ends with comma
* ios_l2_interface – fix issue with certain interface types
* ios_user – fix unable to delete user admin issue
* ios_vlan – fix unable to work on certain interface types issue
* nxos_facts test lldp feature and fix nxapi check_rc
* nxos_interface port-channel idempotence fix for mode
* nxos_linkagg mode fix
* nxos_system idempotence fix
* nxos_vlan refactor to support non structured output
* one_host – fixes settings via environment variables
* use retry_json nxos_banner
* user – Strip trailing comments in /etc/default/passwd
* user – when creating a new user without an expiration date, properly
set no expiration rather that expirining the account
* win_domain_computer – fixed deletion of computer active directory
object that have dependent objects
* win_domain_computer – fixed error in diff_support
* win_domain_computer – fixed error when description parameter is empty
* win_psexec – changed code to not escape the command option when
building the args
* win_uri — Fix support for JSON output when charset is set
* win_wait_for – fix issue where timeout doesn’t wait unless

– update to 2.6.3
* Fix lxd module to be idempotent when the given configuration for the
lxd container has not changed
* Fix setting value type to str to avoid conversion during template
read. Fix Idempotency in case of ‘no key’.
* Fix the mount module’s handling of swap entries in fstab
* The fix for (CVE-2018-10875) prints out a warning message about
skipping a config file from a world writable current working
directory. However, if the user explicitly specifies that the config
file should be used via the ANSIBLE_CONFIG environment variable then
Ansible would honor that but still print out the warning message. This
has been fixed so that Ansible honors the user’s explicit wishes and
does not print a warning message in that circumstance.
* To fix the bug where existing host_record was deleted when existing
record name is used with different IP.
* VMware handle pnic in proxyswitch
* fix azure security group cannot add rules when purge_rule set to false.
* fix azure_rm_deployment collect tags from existing Resource Group.
* fix azure_rm_loadbalancer_facts list takes at least 2 arguments.
* fix for the bundled selectors module (used in the ssh and local
connection plugins) when a syscall is restarted after being
interrupted by a signal
* get_url – fix the bug that get_url does not change mode when checksum
* nicer error when multiprocessing breaks
* openssl_certificate – Convert valid_date to bytes for conversion
* dynamic inventory file fixed the plugin to the
script so that it will work with current ansible-inventory. Also
redirect stdout before dumping the ouptput, because not doing so will
cause JSON parse errors in some cases.
* slack callback – Fix invocation by looking up data from cli.options
* sysvinit module: handle values of optional parameters. Don’t disable
service when enabled parameter isn’t set. Fix command when arguments
parameter isn’t set.
* vars_prompt – properly template play level variables in vars_prompt
* win_domain – ensure the Netlogon service is up and running after
promoting host to controller
* win_domain_controller – ensure the Netlogon service is up and running
after promoting host to controller

– update to 2.6.2
+ Add text output along with structured output in nxos_facts
+ Allow more than one page of results by using the right pagination
indicator (‘NextMarker’ instead of ‘NextToken’).
+ Fix an atomic_move error that is ‘true’, but misleading. Now we show
all 3 files involved and clarify what happened.
+ Fix eos_l2_interface eapi.
+ Fix fetching old style facts in junos_facts module
+ Fix get_device_info nxos zero or more whitespace regex
+ Fix nxos CI failures
+ Fix nxos_nxapi default http behavior
+ Fix nxos_vxlan_vtep_vni
+ Fix regex network_os_platform nxos
+ Refactor nxos cliconf get_device_info for non structured
output supported devices
+ To fix the NoneType error raised in ios_l2_interface when Access Mode
VLAN is unassigned
+ emtpy host/group name is an error
+ fix default SSL version for docker modules
+ fix mail module when using starttls
+ fix nmap config example
+ fix ps detection of service
+ fix the remote tmp folder permissions issue when becoming a non admin
+ fix typoe in sysvinit that breaks update.rc-d detection
+ fixes docker_container compatibilty with docker-py < 2.2
+ get_capabilities in nxapi module_utils should not return empty
+ inventory – When using an inventory directory, ensure extension
comparison uses text types
+ ios_vlan – fix unable to identify correct vlans issue
+ nxos_facts warning message improved
+ openvswitch_db – make ‘key’ argument optional
+ pause – do not set stdout to raw mode when redirecting to a file
+ pause – nest try except when importing curses to gracefully fail if
curses is not present
+ plugins/inventory/ – Do not create group with empty name
if region is not set
+ preseve delegation info on nolog
+ remove ambiguity when it comes to ‘the source’
+ remove dupes from var precedence
+ restores filtering out conflicting facts
+ user – fix bug that resulted in module always reporting a change when
specifiying the home directory on FreeBSD
+ user – use correct attribute name in FreeBSD for creat_home
+ vultr – Do not fail trying to load configuration from ini files if
required variables have been set as environment variables.
+ vyos_command correcting conditionals looping
+ win_chocolatey – enable TLSv1.2 support when downloading the
Chocolatey installer
+ win_reboot – fix for handling an already scheduled reboot and other
minor log formatting issues
+ win_reboot – fix issue when overridding connection timeout hung the
post reboot uptime check
+ win_reboot – handle post reboots when running test_command
+ win_security_policy – allows an empty string to reset a policy value
+ win_share – discard any cmdlet output we don’t use to ensure only the
return json is received by Ansible
+ win_unzip – discard any cmdlet output we don’t use to ensure only the
return json is received by Ansible
+ win_updates – fixed module return value is lost in error in some cases
+ win_user – Use LogonUser to validate the password as it does not rely
on SMB/RPC to be available
+ Security Fix – avoid loading host/group vars from cwd when not
specifying a playbook or playbook base dir
+ Security Fix – avoid using ansible.cfg in a world writable dir.
+ Fix junos_config confirm commit timeout issue
+ file module – The touch subcommand had its diff output broken during
the 2.6.x development cycle. This is now fixed.
+ inventory manager – This fixes required options being populated before
the inventory config file is read, so the required options may be set
in the config file.
+ nsupdate – allow hmac-sha384
+ win_domain – fixes typo in one of the AD cmdlets
+ win_group_membership – uses the internal Ansible SID conversion logic
and uses that when comparing group membership instead of the name
– use fdupes to save some space in python_sitelib
– define BuildRoot on older distributions like SLE-11
– be a bit more flexible with the ending of manpage files to allow Fedora
builds to succeed

– updated to latest release 2.6.0

– New Plugins:
+ Callback:
– cgroup_memory_recap
– grafana_annotations
– sumologic
+ Connection:
– httpapi
+ Inventory:
– foreman
– gcp_compute
– generator
– nmap
+ Lookup:
– onepassword
– onepassword_raw
– Modules updates too many to mention here please look at package
documentation directory (/usr/share/doc/packages/…/changelogs)
– bug fixes:
– **Security Fix** – Some connection exceptions would cause no_log
specified on a task to be ignored. If this happened, the task
information, including any private information coul d have been
displayed to stdout and (if enabled, not the default) logged to a log
file specified in ansible.cfg’s log_path. Additionally, sites which
redirected stdout from ansible runs to a log file may have stored that
private information onto disk that way as well.
– Changed the admin_users config option to not include “admin” by
default as admin is frequently used for a non-privileged account
– Changed the output to “text” for “show vrf” command as default “json”
output format with respect to “eapi” transport was failing
– Document mode=preserve for both the copy and template module
– Fix added for Digital Ocean Volumes API change causing Ansible to
recieve an unexpected value in the response.
– Fix an encoding issue when parsing the examples from a plugins’
– Fix iosxr_config module to handle route-policy, community-set,
prefix-set, as-path-set and rd-set blocks. All these blocks are part
of route-policy language of iosxr.
– Fix mode=preserve with remote_src=True for the copy module
– Implement mode=preserve for the template module
– The yaml callback plugin now allows non-ascii characters to be
– Various grafana_* modules – Port away from the deprecated
b64encodestring function to the b64encode function instead.
– added missing ‘raise’ to exception definition
– allow custom endpoints to be used in the aws_s3 module
– allow set_options to be called multiple times
– ansible-doc – fixed traceback on missing plugins
– cast the device_mapping volume size to an int in the ec2_ami module
– copy – fixed copy to only follow symlinks for files in the
non-recursive case
– copy module – The copy module was attempting to change the mode of
files for remote_src=True even if mode was not set as a parameter.
This failed on filesystems which do not have permission bits
– copy module – fixed recursive copy with relative paths
– correct debug display for all cases
– correctly check hostvars for vars term
– correctly handle yaml inventory files when entries are null dicts
– dynamic includes – Allow inheriting attributes from static parents
– dynamic includes – Don’t treat undefined vars for conditional includes
as truthy (
– dynamic includes – Fix IncludedFile comparison for free strategy
– dynamic includes – Improved performance by fixing re-parenting on copy
– dynamic includes – Use the copied and merged task for calculating task
vars (
– file – fixed the default follow behaviour of file to be true
– file module – Eliminate an error if we’re asked to remove a file but
something removes it while we are processing the request
– file module – Fix error when recursively assigning permissions and a
symlink to a nonexistent file is present in the directory tree
– file module – Fix error when running a task which assures a symlink to
a nonexistent file exists for the second and subsequent times
– file module – The file module allowed the user to specify src as a
parameter when state was not link or hard. This is documented as only
applying to state=link or state=hard but in previous Ansible, this
could have an effect in rare cornercases. For instance, “ansible -m
file -a ‘state=directory path=/tmp src=/var/lib'” would create
/tmp/lib. This has been disabled and a warning emitted (will change
to an error in Ansible-2.10).
– file module – The touch subcommand had its diff output broken during
the 2.6.x development cycle. This is now fixed
– fix BotoCoreError exception handling
– fix apt-mark on debian6 (
– fix async for the aws_s3 module by adding async support to the action
plugin (
– fix decrypting vault files for the aws_s3 module
– fix errors with S3-compatible APIs if they cannot use ACLs for buckets
or objects
– fix permission handling to try to download a file even if the user
does not have permission to list all objects in the bucket
– fixed config required handling, specifically for _terms in lookups
– gce_net – Fix sorting of allowed ports
– group_by – support implicit localhost
– import/include – Ensure role handlers have the proper parent, allowing
for correct attribute inheritance
– import_playbook – Pass vars applied to import_playbook into parsing of
the playbook as they may be needed to parse the imported plays
– include_role/import_role – Don’t overwrite included role handlers with
play handlers on parse (
– include_role/import_role – Fix parameter templating
– include_role/import_role – Use the computed role name for
include_role/import_role so to diffentiate between names computed from
host vars (
include_role/import_role – improved performance and recursion depth
– lineinfile – fix insertbefore when used with BOF to not insert
duplicate lines (
– password lookup – Do not load password lookup in network filters,
allowing the password lookup to be overriden
– pause – ensure ctrl+c interrupt works in all cases
– powershell – use the tmpdir set by `remote_tmp` for become/async tasks
instead of the generic $env:TEMP –
– selinux – correct check mode behavior to report same changes as normal
mode (
– spwd – With python 3.6 spwd.getspnam returns PermissionError instead
of KeyError if user does not have privileges
– synchronize – Ensure the local connection created by synchronize uses
_remote_is_local=True, which causes ActionBase to build a local tmpdir
– template – Fix for encoding issues when a template path contains
non-ascii characters and using the template path in ansible_managed
– template action plugin – fix the encoding of filenames to avoid
tracebacks on Python2 when characters that are not present in the
user’s locale are present.
– user – only change the expiration time when necessary
– uses correct conn info for reset_connection
– win_environment – Fix for issue where the environment value was
deleted when a null value or empty string was set –
– win_file – fix issue where special chars like [ and ] were not being
handled correctly
– win_get_url – fixed a few bugs around authentication and force no when
using an FTP URL
– win_iis_webapppool – redirect some module output to null so Ansible
can read the output JSON
– win_template – fix when specifying the dest option as a directory with
and without the trailing slash
– win_updates – Added the ability to run on a scheduled task for older
hosts so async starts working again –
– win_updates – Fix logic when using a whitelist for multiple updates
– win_updates – Fix typo that hid the download error when a download
– win_updates – Fixed issue where running win_updates on async fails
without any error
– windows become – Show better error messages when the become process
– winrm – Add better error handling when the kinit process fails
– winrm – allow `ansible_user` or `ansible_winrm_user` to override
`ansible_ssh_user` when both are defined in an inventory –
– winrm – ensure pexpect is set to not echo the input on a failure and
have a manual sanity check afterwards
– winrm connection plugin – Fix exception messages sometimes raising a
traceback when the winrm connection plugin encounters an unrecoverable
– xenserver_facts – ensure module works with newer versions of XenServer

– use python3 on (open)SUSE 15 or newer

– Update to 2.5.5
– Changed the admin_users config option to not include “admin” by
default as admin is frequently used for a non-privileged account
– aws_s3 – add async support to the action plugin
– aws_s3 – fix decrypting vault files
– ec2_ami – cast the device_mapping volume size to an int
– eos_logging – fix idempotency issues
– cache plugins – A cache timeout of 0 means the cache will not expire.
– ios_logging – fix idempotency issues
– ios/nxos/eos_config – don’t retrieve config in running_config when
config is provided for diff
– nxos_banner – fix multiline banner issue
– nxos terminal plugin – fix output truncation
– nxos_l3_interface – fix no switchport issue with loopback and svi
– nxos_snapshot – fix compare_option

– update to (boo#1056094)
* Various minor bug fixes

Patch Instructions:

To install this openSUSE Security Update use the SUSE recommended installation methods
like YaST online_update or “zypper patch”.

Alternatively you can run the command listed for your product:

– openSUSE Backports SLE-15:

zypper in -t patch openSUSE-2019-238=1

Package List:

– openSUSE Backports SLE-15 (noarch):



To unsubscribe, e-mail:
For additional commands, e-mail:

AutorToni Vugdelija
Cert idNCERT-REF-2019-02-0001-ADV
More in Preporuke
Sigurnosni nedostatak programskog paketa docker

Otkriven je sigurnosni nedostatak u programskom paketu docker za operacijski sustav Fedora. Otkriveni nedostatak potencijalnim napadačima omogućuje izvršavanje proizvoljnog programskog...