aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYasuhito FUTATSUKI at POEM <futatuki@poem.co.jp>2018-07-24 02:04:41 +0900
committerYasuhito FUTATSUKI at POEM <futatuki@poem.co.jp>2018-07-24 02:04:41 +0900
commit72a69f240618574bf171569af829f186c7c4ca39 (patch)
treef2a2d6b66cd894947e20d9694f1bab90fb4e3734
parentab1bb3df277ab7bba85adac4b1772caf042aeaf5 (diff)
parent4aae75a4e4f560630060f7b3f5c3cdc226d127a3 (diff)
downloadmailman2-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.py21
-rw-r--r--Mailman/Version.py4
-rw-r--r--NEWS7
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
diff --git a/NEWS b/NEWS
index 041fc7cc..b22c7a90 100644
--- a/NEWS
+++ b/NEWS
@@ -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