VYPR
High severityNVD Advisory· Published Oct 8, 2019· Updated Aug 5, 2024

CVE-2019-14846

CVE-2019-14846

Description

In Ansible, all Ansible Engine versions up to ansible-engine 2.8.5, ansible-engine 2.7.13, ansible-engine 2.6.19, were 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.

Affected packages

Versions sourced from the GitHub Security Advisory.

PackageAffected versionsPatched versions
ansiblePyPI
< 2.6.202.6.20
ansiblePyPI
>= 2.7.0a1, < 2.7.142.7.14
ansiblePyPI
>= 2.8.0a1, < 2.8.62.8.6

Affected products

1
  • Range: all ansible_engine-2.x and ansible_engine-3.x up to ansible_engine-3.5

Patches

3
d961f676c010

Fix for plugins which used the boto libraries leaking the boto credentials to logs

https://github.com/ansible/ansibleToshio KuratomiSep 24, 2019via ghsa
2 files changed · +11 1
  • changelogs/fragments/boto-logging-credentials.yml+10 0 added
    @@ -0,0 +1,10 @@
    +bugfixes:
    +        - "**SECURITY** - CVE-2019-14846 - Several Ansible plugins could disclose aws credentials
    +          in log files.  inventory/aws_ec2.py, inventory/aws_rds.py,
    +          lookup/aws_account_attribute.py, and lookup/aws_secret.py, lookup/aws_ssm.py use the
    +          boto3 library from the Ansible process. The boto3 library logs credentials at log level
    +          DEBUG.  If Ansible's logging was enabled (by setting LOG_PATH to a value) Ansible would
    +          set the global log level to DEBUG.  This was inherited by boto and would then log boto
    +          credentials to the file specified by LOG_PATH.  This did not affect aws ansible modules
    +          as those are executed in a separate process.  This has been fixed by switching to log
    +          level INFO"
    
  • lib/ansible/utils/display.py+1 1 modified
    @@ -60,7 +60,7 @@ def filter(self, record):
     if getattr(C, 'DEFAULT_LOG_PATH'):
         path = C.DEFAULT_LOG_PATH
         if path and (os.path.exists(path) and os.access(path, os.W_OK)) or os.access(os.path.dirname(path), os.W_OK):
    -        logging.basicConfig(filename=path, level=logging.DEBUG, format='%(asctime)s %(name)s %(message)s')
    +        logging.basicConfig(filename=path, level=logging.INFO, format='%(asctime)s %(name)s %(message)s')
             mypid = str(os.getpid())
             user = getpass.getuser()
             logger = logging.getLogger("p=%s u=%s | " % (mypid, user))
    
90e74dd2600e

Fix for plugins which used the boto libraries leaking the boto credentials to logs

https://github.com/ansible/ansibleToshio KuratomiSep 24, 2019via ghsa
2 files changed · +11 1
  • changelogs/fragments/boto-logging-credentials.yml+10 0 added
    @@ -0,0 +1,10 @@
    +bugfixes:
    +        - "**SECURITY** - CVE-2019-14846 - Several Ansible plugins could disclose aws credentials
    +          in log files.  inventory/aws_ec2.py, inventory/aws_rds.py,
    +          lookup/aws_account_attribute.py, and lookup/aws_secret.py, lookup/aws_ssm.py use the
    +          boto3 library from the Ansible process. The boto3 library logs credentials at log level
    +          DEBUG.  If Ansible's logging was enabled (by setting LOG_PATH to a value) Ansible would
    +          set the global log level to DEBUG.  This was inherited by boto and would then log boto
    +          credentials to the file specified by LOG_PATH.  This did not affect aws ansible modules
    +          as those are executed in a separate process.  This has been fixed by switching to log
    +          level INFO"
    
  • lib/ansible/utils/display.py+1 1 modified
    @@ -60,7 +60,7 @@ def filter(self, record):
     if getattr(C, 'DEFAULT_LOG_PATH'):
         path = C.DEFAULT_LOG_PATH
         if path and (os.path.exists(path) and os.access(path, os.W_OK)) or os.access(os.path.dirname(path), os.W_OK):
    -        logging.basicConfig(filename=path, level=logging.DEBUG, format='%(asctime)s %(name)s %(message)s')
    +        logging.basicConfig(filename=path, level=logging.INFO, format='%(asctime)s %(name)s %(message)s')
             mypid = str(os.getpid())
             user = getpass.getuser()
             logger = logging.getLogger("p=%s u=%s | " % (mypid, user))
    
cb0f535a8b25

Fix for plugins which used the boto libraries leaking the boto credentials to logs

https://github.com/ansible/ansibleToshio KuratomiSep 24, 2019via ghsa
2 files changed · +11 1
  • changelogs/fragments/boto-logging-credentials.yml+10 0 added
    @@ -0,0 +1,10 @@
    +bugfixes:
    +        - "**SECURITY** - CVE-2019-14846 - Several Ansible plugins could disclose aws credentials
    +          in log files.  inventory/aws_ec2.py, inventory/aws_rds.py,
    +          lookup/aws_account_attribute.py, and lookup/aws_secret.py, lookup/aws_ssm.py use the
    +          boto3 library from the Ansible process. The boto3 library logs credentials at log level
    +          DEBUG.  If Ansible's logging was enabled (by setting LOG_PATH to a value) Ansible would
    +          set the global log level to DEBUG.  This was inherited by boto and would then log boto
    +          credentials to the file specified by LOG_PATH.  This did not affect aws ansible modules
    +          as those are executed in a separate process.  This has been fixed by switching to log
    +          level INFO"
    
  • lib/ansible/utils/display.py+1 1 modified
    @@ -62,7 +62,7 @@ def filter(self, record):
     if getattr(C, 'DEFAULT_LOG_PATH'):
         path = C.DEFAULT_LOG_PATH
         if path and (os.path.exists(path) and os.access(path, os.W_OK)) or os.access(os.path.dirname(path), os.W_OK):
    -        logging.basicConfig(filename=path, level=logging.DEBUG, format='%(asctime)s %(name)s %(message)s')
    +        logging.basicConfig(filename=path, level=logging.INFO, format='%(asctime)s %(name)s %(message)s')
             mypid = str(os.getpid())
             user = getpass.getuser()
             logger = logging.getLogger("p=%s u=%s | " % (mypid, user))
    

Vulnerability mechanics

Generated by null/stub on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

18

News mentions

0

No linked articles in our index yet.