On Wed, May 06 2020, Okan Demirmen <[email protected]> wrote:
> another recently discovered xss with mailman, again based on a cve from
> 2018; this one doesn't yet have a cve assigned; upstream fix.
>
> if this does not make 6.7, post-unlock, i'd like to apply to 6.6 and 6.7
> -stable if okay.
>
> from changelog:
>
> 2.1.32 (05-May-2020)
>
>   i18n
>
>     Fixed a typo in the Spanish translation and uptated mailman.pot and
>     the message catalog for 2.1.31 security fix.
>
> 2.1.31 (05-May-2020)
>
>   Security
>
>     - A content injection vulnerability via the options login page has been
>       discovered and reported by Vishal Singh. This is fixed.  (LP: #1873722)
>
>   i18n
>
>     - The Spanish translation has been updated by Omar Walid Llorente.
>
>   Bug Fixes and other patches
>
>     - Bounce recognition for a non-compliant Yahoo format is added.
>
>     - Archiving workaround for non-ascii in string.lowercase in some Python
>       packages is added.
>
> diff for current and -stable.

Apart from the churn in the .po files, the tarball diff is short.
The changes look safe to me, ok jca@

--8<--
diff -pruN 
/usr/ports/pobj/mailman-2.1.30/mailman-2.1.30/Mailman/Archiver/pipermail.py 
/usr/ports/pobj/mailman-2.1.32/mailman-2.1.32/Mailman/Archiver/pipermail.py
--- /usr/ports/pobj/mailman-2.1.30/mailman-2.1.30/Mailman/Archiver/pipermail.py 
Wed May  6 16:23:25 2020
+++ /usr/ports/pobj/mailman-2.1.32/mailman-2.1.32/Mailman/Archiver/pipermail.py 
Wed May  6 16:24:09 2020
@@ -12,6 +12,10 @@ import cPickle as pickle
 from cStringIO import StringIO
 from string import lowercase
 
+# Work around for some misguided Python packages that add iso-8859-1
+# accented characters to string.lowercase.
+lowercase = lowercase[:26]
+
 __version__ = '0.09 (Mailman edition)'
 VERSION = __version__
 CACHESIZE = 100    # Number of slots in the cache
diff -pruN 
/usr/ports/pobj/mailman-2.1.30/mailman-2.1.30/Mailman/Archiver/pipermail.py.orig
 
/usr/ports/pobj/mailman-2.1.32/mailman-2.1.32/Mailman/Archiver/pipermail.py.orig
--- 
/usr/ports/pobj/mailman-2.1.30/mailman-2.1.30/Mailman/Archiver/pipermail.py.orig
    Mon Apr 13 19:08:14 2020
+++ 
/usr/ports/pobj/mailman-2.1.32/mailman-2.1.32/Mailman/Archiver/pipermail.py.orig
    Tue May  5 22:01:52 2020
@@ -12,6 +12,10 @@ import cPickle as pickle
 from cStringIO import StringIO
 from string import lowercase
 
+# Work around for some misguided Python packages that add iso-8859-1
+# accented characters to string.lowercase.
+lowercase = lowercase[:26]
+
 __version__ = '0.09 (Mailman edition)'
 VERSION = __version__
 CACHESIZE = 100    # Number of slots in the cache
diff -pruN 
/usr/ports/pobj/mailman-2.1.30/mailman-2.1.30/Mailman/Bouncers/SimpleMatch.py 
/usr/ports/pobj/mailman-2.1.32/mailman-2.1.32/Mailman/Bouncers/SimpleMatch.py
--- 
/usr/ports/pobj/mailman-2.1.30/mailman-2.1.30/Mailman/Bouncers/SimpleMatch.py   
    Mon Apr 13 19:08:14 2020
+++ 
/usr/ports/pobj/mailman-2.1.32/mailman-2.1.32/Mailman/Bouncers/SimpleMatch.py   
    Tue May  5 22:01:52 2020
@@ -195,6 +195,10 @@ PATTERNS = [
     (_c('Message could not be delivered to some recipients.'),
      _c('Message headers follow'),
      _c('Recipient: \[SMTP:(?P<addr>[^\s@]+@[^\s@]+)\]')),
+    # This one is from Yahoo but dosen't fit the yahoo recognizer format
+    (_c(r'wasn\'t able to deliver the following message'),
+     _c(r'---Below this line is a copy of the message.'),
+     _c(r'To: (?P<addr>[^\s@]+@[^\s@]+)')),
     # Next one goes here...
     ]
 
diff -pruN /usr/ports/pobj/mailman-2.1.30/mailman-2.1.30/Mailman/Cgi/options.py 
/usr/ports/pobj/mailman-2.1.32/mailman-2.1.32/Mailman/Cgi/options.py
--- /usr/ports/pobj/mailman-2.1.30/mailman-2.1.30/Mailman/Cgi/options.py        
Mon Apr 13 19:08:14 2020
+++ /usr/ports/pobj/mailman-2.1.32/mailman-2.1.32/Mailman/Cgi/options.py        
Tue May  5 22:01:52 2020
@@ -173,7 +173,7 @@ def main():
     try:
         Utils.ValidateEmail(user)
     except Errors.EmailAddressError:
-        doc.addError(_('Illegal Email Address: %(safeuser)s'))
+        doc.addError(_('Illegal Email Address'))
         loginpage(mlist, doc, None, language)
         print doc.Format()
         return
diff -pruN /usr/ports/pobj/mailman-2.1.30/mailman-2.1.30/Mailman/Version.py 
/usr/ports/pobj/mailman-2.1.32/mailman-2.1.32/Mailman/Version.py
--- /usr/ports/pobj/mailman-2.1.30/mailman-2.1.30/Mailman/Version.py    Mon Apr 
13 19:08:14 2020
+++ /usr/ports/pobj/mailman-2.1.32/mailman-2.1.32/Mailman/Version.py    Tue May 
 5 22:01:52 2020
@@ -16,7 +16,7 @@
 # USA.
 
 # Mailman version
-VERSION = '2.1.30'
+VERSION = '2.1.32'
 
 # 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 = 30
+MICRO_REV = 32
 REL_LEVEL = FINAL
 # at most 15 beta releases!
 REL_SERIAL = 0
diff -pruN /usr/ports/pobj/mailman-2.1.30/mailman-2.1.30/NEWS 
/usr/ports/pobj/mailman-2.1.32/mailman-2.1.32/NEWS
--- /usr/ports/pobj/mailman-2.1.30/mailman-2.1.30/NEWS  Mon Apr 13 19:08:14 2020
+++ /usr/ports/pobj/mailman-2.1.32/mailman-2.1.32/NEWS  Tue May  5 22:01:52 2020
@@ -5,6 +5,31 @@ Copyright (C) 1998-2018 by the Free Software Foundatio
 
 Here is a history of user visible changes to Mailman.
 
+2.1.32 (05-May-2020)
+
+  i18n
+
+    Fixed a typo in the Spanish translation and uptated mailman.pot and
+    the message catalog for 2.1.31 security fix.
+
+2.1.31 (05-May-2020)
+
+  Security
+
+    - A content injection vulnerability via the options login page has been
+      discovered and reported by Vishal Singh. This is fixed.  (LP: #1873722)
+
+  i18n
+
+    - The Spanish translation has been updated by Omar Walid Llorente.
+
+  Bug Fixes and other patches
+
+    - Bounce recognition for a non-compliant Yahoo format is added.
+
+    - Archiving workaround for non-ascii in string.lowercase in some Python
+      packages is added.
+
 2.1.30 (13-Apr-2020)
 
   New Features
diff -pruN 
/usr/ports/pobj/mailman-2.1.30/mailman-2.1.30/tests/bounces/yahoo_12.txt 
/usr/ports/pobj/mailman-2.1.32/mailman-2.1.32/tests/bounces/yahoo_12.txt
--- /usr/ports/pobj/mailman-2.1.30/mailman-2.1.30/tests/bounces/yahoo_12.txt    
Thu Jan  1 01:00:00 1970
+++ /usr/ports/pobj/mailman-2.1.32/mailman-2.1.32/tests/bounces/yahoo_12.txt    
Tue May  5 22:01:52 2020
@@ -0,0 +1,18 @@
+From: [email protected]
+To: [email protected]
+Message-ID: 
<1724157855.37526491587724620658.javamail.ya...@mpq204.consmr.mail.bf2.yahoo.com>
+MIME-Version: 1.0
+Content-Type: text/html; charset="utf-8"
+Content-Transfer-Encoding: 7bit
+Message-ID-Hash: NMFBS7K2KRA44XW6KCW6CW6NNKCXESHM
+X-Message-ID-Hash: NMFBS7K2KRA44XW6KCW6CW6NNKCXESHM
+X-MailFrom: [email protected]
+
+I'm afraid I wasn't able to deliver the following message.
+This is a permanent error; I've given up. Sorry it didn't work out.
+
+Subject: [List] Re: Name for MP3 Folder
+To: [email protected]
+
+---Below this line is a copy of the message.
+
diff -pruN /usr/ports/pobj/mailman-2.1.30/mailman-2.1.30/tests/test_bounces.py 
/usr/ports/pobj/mailman-2.1.32/mailman-2.1.32/tests/test_bounces.py
--- /usr/ports/pobj/mailman-2.1.30/mailman-2.1.30/tests/test_bounces.py Mon Apr 
13 19:08:14 2020
+++ /usr/ports/pobj/mailman-2.1.32/mailman-2.1.32/tests/test_bounces.py Tue May 
 5 22:01:52 2020
@@ -84,6 +84,7 @@ class BounceTest(unittest.TestCase):
         ('SimpleMatch', 'simple_41.txt', ['[email protected]']),
         ('SimpleMatch', 'bounce_02.txt', ['[email protected]']),
         ('SimpleMatch', 'bounce_03.txt', ['[email protected]']),
+        ('SimpleMatch', 'yahoo_12.txt', ['[email protected]']),
         # SimpleWarning
         ('SimpleWarning', 'simple_03.txt', Stop),
         ('SimpleWarning', 'simple_21.txt', Stop),
-->8--




-- 
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE

Reply via email to