diff options
author | Yasuhito FUTATSUKI at POEM <futatuki@poem.co.jp> | 2018-07-24 02:04:41 +0900 |
---|---|---|
committer | Yasuhito FUTATSUKI at POEM <futatuki@poem.co.jp> | 2018-07-24 02:04:41 +0900 |
commit | 72a69f240618574bf171569af829f186c7c4ca39 (patch) | |
tree | f2a2d6b66cd894947e20d9694f1bab90fb4e3734 | |
parent | ab1bb3df277ab7bba85adac4b1772caf042aeaf5 (diff) | |
parent | 4aae75a4e4f560630060f7b3f5c3cdc226d127a3 (diff) | |
download | mailman2-72a69f240618574bf171569af829f186c7c4ca39.tar.gz mailman2-72a69f240618574bf171569af829f186c7c4ca39.tar.xz mailman2-72a69f240618574bf171569af829f186c7c4ca39.zip |
merge lp:mailman/2.1 up to rev 1797(2.1.28 release)
Diffstat (limited to '')
-rw-r--r-- | Mailman/Utils.py | 21 | ||||
-rw-r--r-- | Mailman/Version.py | 4 | ||||
-rw-r--r-- | NEWS | 7 |
3 files changed, 24 insertions, 8 deletions
diff --git a/Mailman/Utils.py b/Mailman/Utils.py index 49121e28..7b8015a4 100644 --- a/Mailman/Utils.py +++ b/Mailman/Utils.py @@ -280,17 +280,28 @@ CRNLpat = re.compile(r'[^\x21-\x7e]') def GetPathPieces(envar='PATH_INFO'): path = os.environ.get(envar) if path: + remote = os.environ.get('HTTP_FORWARDED_FOR', + os.environ.get('HTTP_X_FORWARDED_FOR', + os.environ.get('REMOTE_ADDR', + 'unidentified origin'))) if CRNLpat.search(path): path = CRNLpat.split(path)[0] - remote = os.environ.get('HTTP_FORWARDED_FOR', - os.environ.get('HTTP_X_FORWARDED_FOR', - os.environ.get('REMOTE_ADDR', - 'unidentified origin'))) syslog('error', 'Warning: Possible malformed path attack domain=%s remote=%s', get_domain(), remote) - return [p for p in path.split('/') if p] + # Check for listname injections that won't be websafed. + pieces = [p for p in path.split('/') if p] + # Get the longest listname or 20 if none. + if list_names(): + longest = max([len(x) for x in list_names()]) + else: + longest = 20 + if len(pieces[0]) > longest: + syslog('mischief', + 'Hostile listname: listname=%s: remote=%s', pieces[0], remote) + pieces[0] = pieces[0][:longest] + '...' + return pieces return None diff --git a/Mailman/Version.py b/Mailman/Version.py index 2d90eee8..9e6d1277 100644 --- a/Mailman/Version.py +++ b/Mailman/Version.py @@ -16,7 +16,7 @@ # USA. # Mailman version -VERSION = '2.1.27' +VERSION = '2.1.28' # And as a hex number in the manner of PY_VERSION_HEX ALPHA = 0xa @@ -28,7 +28,7 @@ FINAL = 0xf MAJOR_REV = 2 MINOR_REV = 1 -MICRO_REV = 27 +MICRO_REV = 28 REL_LEVEL = FINAL # at most 15 beta releases! REL_SERIAL = 0 @@ -5,7 +5,12 @@ Copyright (C) 1998-2018 by the Free Software Foundation, Inc. Here is a history of user visible changes to Mailman. -2.1.28 (xx-xxx-xxxx) +2.1.28 (23-Jul-2018) + + Security + + - A content spoofing vulnerability with invalid list name messages in + the web UI has been fixed. CVE-2018-13796 (LP: #1780874) New Features |