Package: release.debian.org
Severity: normal
Tags: jessie
User: release.debian....@packages.debian.org
Usertags: pu

Hi,

salt in jessie is affected by some security issues. Salvatore Bonaccorso
from the security wrote: So we are basically down at
https://security-tracker.debian.org/tracker/source-package/salt to
no-dsa issues, so up to decicde I guess if you still want a DSA or
rather go via the upcoming point release.

Thus the requests for a SPU to fix four security bugs (debdiff
attached).

-- 
Benjamin Drung
System Developer
Debian & Ubuntu Developer

ProfitBricks GmbH
Greifswalder Str. 207
D - 10405 Berlin

Email: benjamin.dr...@profitbricks.com
Web: https://www.profitbricks.com

Sitz der Gesellschaft: Berlin.
Registergericht: Amtsgericht Charlottenburg, HRB 125506B.
Geschäftsführer: Achim Weiss.
diff -Nru salt-2014.1.13+ds/debian/changelog salt-2014.1.13+ds/debian/changelog
--- salt-2014.1.13+ds/debian/changelog  2015-02-13 06:27:53.000000000 +0100
+++ salt-2014.1.13+ds/debian/changelog  2017-05-22 13:34:40.000000000 +0200
@@ -1,3 +1,18 @@
+salt (2014.1.13+ds-3+deb8u1) jessie; urgency=high
+
+  [ Benjamin Drung ]
+  * Team upload.
+  * CVE-2015-6918: git module leaks authentication details into log
+  * CVE-2015-6941: user state displays passwords in debug log
+
+  [ Salvatore Bonaccorso ]
+  * CVE-2015-8034: Information leak from state.sls cache data stored as
+    world-readable (Closes: #807356)
+  * CVE-2016-3176: Insecure configuration of PAM external authentication
+    service (Closes: #819184)
+
+ -- Benjamin Drung <benjamin.dr...@profitbricks.com>  Mon, 22 May 2017 
13:34:36 +0200
+
 salt (2014.1.13+ds-3) unstable; urgency=medium
 
   * [5273cd4] Added python-msgpack dependency. Closes: 777665
diff -Nru salt-2014.1.13+ds/debian/patches/CVE-2015-6918.patch 
salt-2014.1.13+ds/debian/patches/CVE-2015-6918.patch
--- salt-2014.1.13+ds/debian/patches/CVE-2015-6918.patch        1970-01-01 
01:00:00.000000000 +0100
+++ salt-2014.1.13+ds/debian/patches/CVE-2015-6918.patch        2017-04-18 
12:18:56.000000000 +0200
@@ -0,0 +1,46 @@
+From 528916548726976dcc75626dc6f6641ceb206ee3 Mon Sep 17 00:00:00 2001
+From: Tarjei Husøy <g...@thusoy.com>
+Date: Wed, 19 Aug 2015 11:41:10 -0700
+Subject: [PATCH] Git: Don't leak https user/pw to log
+Origin: backport, 
https://github.com/saltstack/salt/commit/28aa9b105804ff433d8f663b2f9b804f2b75495a
+
+---
+ salt/modules/git.py            | 17 ++++++++++++++---
+ tests/unit/modules/git_test.py | 18 ++++++++++++++++++
+ 2 files changed, 32 insertions(+), 3 deletions(-)
+
+--- a/salt/modules/git.py
++++ b/salt/modules/git.py
+@@ -5,6 +5,7 @@
+ 
+ # Import python libs
+ import os
++import re
+ import tempfile
+ try:
+     import pipes
+@@ -75,6 +76,7 @@
+     result = __salt__['cmd.run_all'](cmd,
+                                      cwd=cwd,
+                                      runas=runas,
++                                     output_loglevel='quiet',
+                                      env=env,
+                                      **kwargs)
+ 
+@@ -86,7 +88,15 @@
+     if retcode == 0:
+         return result['stdout']
+     else:
+-        raise exceptions.CommandExecutionError(result['stderr'])
++        stderr = _remove_sensitive_data(result['stderr'])
++        raise exceptions.CommandExecutionError(stderr)
++
++
++def _remove_sensitive_data(sensitive_output):
++    '''
++        Remove HTTP user and password.
++    '''
++    return re.sub('(https?)://.*@', r'\1://<redacted>@', sensitive_output)
+ 
+ 
+ def _git_getdir(cwd, user=None):
diff -Nru salt-2014.1.13+ds/debian/patches/CVE-2015-6941.patch 
salt-2014.1.13+ds/debian/patches/CVE-2015-6941.patch
--- salt-2014.1.13+ds/debian/patches/CVE-2015-6941.patch        1970-01-01 
01:00:00.000000000 +0100
+++ salt-2014.1.13+ds/debian/patches/CVE-2015-6941.patch        2017-04-18 
12:32:52.000000000 +0200
@@ -0,0 +1,33 @@
+From fdd35374562658f4a20767a3703fab93d92f9ca9 Mon Sep 17 00:00:00 2001
+From: twangboy <s...@saltstack.com>
+Date: Fri, 11 Sep 2015 16:39:47 -0600
+Subject: [PATCH] Replaced password with redacted when displayed
+Origin: backport, 
https://github.com/twangboy/salt/commit/c0689e32154c41f59840ae10ffc5fbfa30618710
+
+---
+ salt/states/user.py | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+--- a/salt/states/user.py
++++ b/salt/states/user.py
+@@ -362,6 +362,8 @@
+             ret['comment'] = ('The following user attributes are set to be '
+                               'changed:\n')
+             for key, val in changes.items():
++                if key == 'password':
++                    val = 'XXX-REDACTED-XXX'
+                 ret['comment'] += '{0}: {1}\n'.format(key, val)
+             return ret
+         # The user is present
+@@ -480,9 +482,9 @@
+                     if spost['passwd'] != password:
+                         ret['comment'] = 'User {0} created but failed to set' 
\
+                                          ' password to' \
+-                                         ' {1}'.format(name, password)
++                                         ' {1}'.format(name, 
'XXX-REDACTED-XXX')
+                         ret['result'] = False
+-                    ret['changes']['password'] = password
++                    ret['changes']['password'] = 'XXX-REDACTED-XXX'
+                 if date:
+                     __salt__['shadow.set_date'](name, date)
+                     spost = __salt__['shadow.info'](name)
diff -Nru salt-2014.1.13+ds/debian/patches/CVE-2015-8034.patch 
salt-2014.1.13+ds/debian/patches/CVE-2015-8034.patch
--- salt-2014.1.13+ds/debian/patches/CVE-2015-8034.patch        1970-01-01 
01:00:00.000000000 +0100
+++ salt-2014.1.13+ds/debian/patches/CVE-2015-8034.patch        2016-06-11 
16:35:29.000000000 +0200
@@ -0,0 +1,43 @@
+From 097838ec0c52b1e96f7f761e5fb3cd7e79808741 Mon Sep 17 00:00:00 2001
+From: Mike Place <m...@saltstack.com>
+Date: Fri, 30 Oct 2015 15:05:36 -0600
+Subject: [PATCH] Wrap all cache calls in state.sls in correct umask
+
+Refs #28455
+---
+ salt/modules/state.py | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+--- a/salt/modules/state.py
++++ b/salt/modules/state.py
+@@ -366,12 +366,13 @@ def sls(mods,
+             )
+ 
+     st_ = salt.state.HighState(opts, pillar, kwargs.get('__pub_jid'))
+-
++    umask = os.umask(0o77)
+     if kwargs.get('cache'):
+         if os.path.isfile(cfn):
+             with salt.utils.fopen(cfn, 'rb') as fp_:
+                 high_ = serial.load(fp_)
+                 return st_.state.call_high(high_)
++    os.umask(umask)
+ 
+     if isinstance(mods, string_types):
+         mods = mods.split(',')
+@@ -407,7 +408,6 @@ def sls(mods,
+     except (IOError, OSError):
+         msg = 'Unable to write to "state.sls" cache file {0}'
+         log.error(msg.format(cache_file))
+-    os.umask(cumask)
+     _set_retcode(ret)
+     # Work around Windows multiprocessing bug, set __opts__['test'] back to
+     # value from before this function was run.
+@@ -422,6 +422,7 @@ def sls(mods,
+     except (IOError, OSError):
+         msg = 'Unable to write to highstate cache file {0}. Do you have 
permissions?'
+         log.error(msg.format(cfn))
++    os.umask(cumask)
+     return ret
+ 
+ 
diff -Nru salt-2014.1.13+ds/debian/patches/CVE-2016-3176.patch 
salt-2014.1.13+ds/debian/patches/CVE-2016-3176.patch
--- salt-2014.1.13+ds/debian/patches/CVE-2016-3176.patch        1970-01-01 
01:00:00.000000000 +0100
+++ salt-2014.1.13+ds/debian/patches/CVE-2016-3176.patch        2016-06-11 
16:35:29.000000000 +0200
@@ -0,0 +1,56 @@
+From d73f70ebb289142e4f692359fe741a54f5d2ad65 Mon Sep 17 00:00:00 2001
+From: Daniel Wallace <dwall...@saltstack.com>
+Date: Fri, 11 Mar 2016 08:25:05 -0700
+Subject: [PATCH] Remove ability of authenticating user to specify pam service
+
+This should be set at the master level, so that whoever is
+authenticating has to conform to what is set by the administrator that
+setup salt.
+---
+ salt/auth/pam.py | 16 +++++++++++-----
+ 1 file changed, 11 insertions(+), 5 deletions(-)
+
+--- a/salt/auth/pam.py
++++ b/salt/auth/pam.py
+@@ -12,6 +12,13 @@ a user against the Pluggable Authenticat
+ 
+ Implemented using ctypes, so no compilation is necessary.
+ 
++There is one extra configuration option for pam.  The `pam_service` that is
++authenticated against.  This defaults to `login`
++
++.. code-block:: yaml
++
++    auth.pam.service: login
++
+ .. note:: PAM authentication will not work for the ``root`` user.
+ 
+     The Python interface to PAM does not support authenticating as ``root``.
+@@ -120,7 +127,7 @@ def __virtual__():
+         return False
+ 
+ 
+-def authenticate(username, password, service='login'):
++def authenticate(username, password):
+     '''
+     Returns True if the given username and password authenticate for the
+     given service.  Returns False otherwise
+@@ -128,10 +135,9 @@ def authenticate(username, password, ser
+     ``username``: the username to authenticate
+ 
+     ``password``: the password in plain text
+-
+-    ``service``: the PAM service to authenticate against.
+-                 Defaults to 'login'
+     '''
++    service = __opts__.get('auth.pam.service', 'login')
++
+     @CONV_FUNC
+     def my_conv(n_messages, messages, p_response, app_data):
+         '''
+@@ -165,4 +171,4 @@ def auth(username, password, **kwargs):
+     '''
+     Authenticate via pam
+     '''
+-    return authenticate(username, password, kwargs.get('service', 'login'))
++    return authenticate(username, password)
diff -Nru salt-2014.1.13+ds/debian/patches/series 
salt-2014.1.13+ds/debian/patches/series
--- salt-2014.1.13+ds/debian/patches/series     2015-02-13 06:06:38.000000000 
+0100
+++ salt-2014.1.13+ds/debian/patches/series     2017-04-18 12:23:00.000000000 
+0200
@@ -6,3 +6,7 @@
 0175_releasenotes
 remove_privacy_breaches
 doc_fixes
+CVE-2015-6918.patch
+CVE-2015-6941.patch
+CVE-2015-8034.patch
+CVE-2016-3176.patch

Reply via email to