Your message dated Sun, 4 Jul 2021 23:58:15 +0200
with message-id <YOIu9xTpgwnpao/h...@ramacher.at>
and subject line Re: Bug#990689: unblock: node-nodemailer/6.4.17-3
has caused the Debian Bug report #990689,
regarding unblock: node-nodemailer/6.4.17-3
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
990689: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=990689
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian....@packages.debian.org
Usertags: unblock
X-Debbugs-Cc: car...@debian.org,y...@debian.org

Hi Release team,

Please unblock package node-nodemailer

Yadd fixed #990485, CVE-2021-23400 for node-nodemailer in unstable.
Can you please unblock the package (it would not need to, if I
understand correctly, not beeing a key package and having autopkgtests
passing) still to make sure it lands in testing and so in bullseeye
before the release?

Regards,
Salvatore
diff -Nru node-nodemailer-6.4.17/debian/changelog 
node-nodemailer-6.4.17/debian/changelog
--- node-nodemailer-6.4.17/debian/changelog     2021-01-21 06:26:01.000000000 
+0100
+++ node-nodemailer-6.4.17/debian/changelog     2021-06-30 14:59:47.000000000 
+0200
@@ -1,3 +1,11 @@
+node-nodemailer (6.4.17-3) unstable; urgency=medium
+
+  * Fix GitHub tags regex
+  * Fix header injection vulnerability in address object
+    (Closes: #990485, CVE-2021-23400)
+
+ -- Yadd <y...@debian.org>  Wed, 30 Jun 2021 14:59:47 +0200
+
 node-nodemailer (6.4.17-2) unstable; urgency=medium
 
   * Ignore cookie test (Closes: #980702)
diff -Nru node-nodemailer-6.4.17/debian/control 
node-nodemailer-6.4.17/debian/control
--- node-nodemailer-6.4.17/debian/control       2021-01-21 06:09:40.000000000 
+0100
+++ node-nodemailer-6.4.17/debian/control       2021-04-15 20:35:08.000000000 
+0200
@@ -2,7 +2,7 @@
 Section: javascript
 Priority: optional
 Maintainer: Debian Javascript Maintainers 
<pkg-javascript-de...@lists.alioth.debian.org>
-Uploaders: Xavier Guimard <y...@debian.org>
+Uploaders: Yadd <y...@debian.org>
 Testsuite: autopkgtest-pkg-nodejs
 Build-Depends:
  debhelper-compat (= 13)
diff -Nru node-nodemailer-6.4.17/debian/copyright 
node-nodemailer-6.4.17/debian/copyright
--- node-nodemailer-6.4.17/debian/copyright     2021-01-21 06:09:40.000000000 
+0100
+++ node-nodemailer-6.4.17/debian/copyright     2021-04-15 20:35:08.000000000 
+0200
@@ -8,7 +8,7 @@
 License: Expat
 
 Files: debian/*
-Copyright: 2019-2020, Xavier Guimard <y...@debian.org>
+Copyright: 2019-2020, Yadd <y...@debian.org>
 License: Expat
 
 Files: debian/tests/test_modules/base32.js/*
diff -Nru node-nodemailer-6.4.17/debian/patches/CVE-2021-23400.patch 
node-nodemailer-6.4.17/debian/patches/CVE-2021-23400.patch
--- node-nodemailer-6.4.17/debian/patches/CVE-2021-23400.patch  1970-01-01 
01:00:00.000000000 +0100
+++ node-nodemailer-6.4.17/debian/patches/CVE-2021-23400.patch  2021-06-30 
14:58:51.000000000 +0200
@@ -0,0 +1,80 @@
+Description: fix header injection vulnerability in address object
+Author: Andris Reinman <and...@kreata.ee>
+Origin: upstream, https://github.com/nodemailer/nodemailer/commit/7e02648c
+Bug: https://github.com/nodemailer/nodemailer/issues/1289
+Bug-Debian: https://bugs.debian.org/990485
+Forwarded: not-needed
+Reviewed-By: Yadd <y...@debian.org>
+Last-Update: 2021-06-30
+
+--- a/lib/mime-node/index.js
++++ b/lib/mime-node/index.js
+@@ -1130,9 +1130,9 @@
+                 address.address = this._normalizeAddress(address.address);
+ 
+                 if (!address.name) {
+-                    values.push(address.address);
++                    values.push(address.address.indexOf(' ') >= 0 ? 
`<${address.address}>` : `${address.address}`);
+                 } else if (address.name) {
+-                    values.push(this._encodeAddressName(address.name) + ' <' 
+ address.address + '>');
++                    values.push(`${this._encodeAddressName(address.name)} 
<${address.address}>`);
+                 }
+ 
+                 if (address.address) {
+@@ -1141,9 +1141,8 @@
+                     }
+                 }
+             } else if (address.group) {
+-                values.push(
+-                    this._encodeAddressName(address.name) + ':' + 
(address.group.length ? this._convertAddresses(address.group, uniqueList) : 
'').trim() + ';'
+-                );
++                let groupListAddresses = (address.group.length ? 
this._convertAddresses(address.group, uniqueList) : '').trim();
++                
values.push(`${this._encodeAddressName(address.name)}:${groupListAddresses};`);
+             }
+         });
+ 
+@@ -1157,13 +1156,17 @@
+      * @return {String} address string
+      */
+     _normalizeAddress(address) {
+-        address = (address || '').toString().trim();
++        address = (address || '')
++            .toString()
++            .replace(/[\x00-\x1F<>]+/g, ' ') // remove unallowed characters
++            .trim();
+ 
+         let lastAt = address.lastIndexOf('@');
+         if (lastAt < 0) {
+             // Bare username
+             return address;
+         }
++
+         let user = address.substr(0, lastAt);
+         let domain = address.substr(lastAt + 1);
+ 
+@@ -1172,7 +1175,24 @@
+         // 'jõgeva.ee' will be converted to 'xn--jgeva-dua.ee'
+         // non-unicode domains are left as is
+ 
+-        return user + '@' + punycode.toASCII(domain.toLowerCase());
++        let encodedDomain;
++
++        try {
++            encodedDomain = punycode.toASCII(domain.toLowerCase());
++        } catch (err) {
++            // keep as is?
++        }
++
++        if (user.indexOf(' ') >= 0) {
++            if (user.charAt(0) !== '"') {
++                user = '"' + user;
++            }
++            if (user.substr(-1) !== '"') {
++                user = user + '"';
++            }
++        }
++
++        return `${user}@${encodedDomain}`;
+     }
+ 
+     /**
diff -Nru node-nodemailer-6.4.17/debian/patches/series 
node-nodemailer-6.4.17/debian/patches/series
--- node-nodemailer-6.4.17/debian/patches/series        1970-01-01 
01:00:00.000000000 +0100
+++ node-nodemailer-6.4.17/debian/patches/series        2021-06-30 
14:56:41.000000000 +0200
@@ -0,0 +1 @@
+CVE-2021-23400.patch
diff -Nru node-nodemailer-6.4.17/debian/watch 
node-nodemailer-6.4.17/debian/watch
--- node-nodemailer-6.4.17/debian/watch 2019-10-12 09:57:06.000000000 +0200
+++ node-nodemailer-6.4.17/debian/watch 2021-04-15 20:35:08.000000000 +0200
@@ -2,4 +2,4 @@
 opts=\
 dversionmangle=auto,\
 filenamemangle=s/.*\/v?([\d\.-]+)\.tar\.gz/node-nodemailer-$1.tar.gz/ \
- https://github.com/nodemailer/nodemailer/releases 
.*/archive/v?([\d\.]+).tar.gz
+ https://github.com/nodemailer/nodemailer/releases 
.*/archive/.*/v?([\d\.]+).tar.gz

--- End Message ---
--- Begin Message ---
On 2021-07-04 22:17:54 +0200, Salvatore Bonaccorso wrote:
> Package: release.debian.org
> Severity: normal
> User: release.debian....@packages.debian.org
> Usertags: unblock
> X-Debbugs-Cc: car...@debian.org,y...@debian.org
> 
> Hi Release team,
> 
> Please unblock package node-nodemailer
> 
> Yadd fixed #990485, CVE-2021-23400 for node-nodemailer in unstable.
> Can you please unblock the package (it would not need to, if I
> understand correctly, not beeing a key package and having autopkgtests
> passing) still to make sure it lands in testing and so in bullseeye
> before the release?

Aged to 5 days.

Cheers

> 
> Regards,
> Salvatore

> diff -Nru node-nodemailer-6.4.17/debian/changelog 
> node-nodemailer-6.4.17/debian/changelog
> --- node-nodemailer-6.4.17/debian/changelog   2021-01-21 06:26:01.000000000 
> +0100
> +++ node-nodemailer-6.4.17/debian/changelog   2021-06-30 14:59:47.000000000 
> +0200
> @@ -1,3 +1,11 @@
> +node-nodemailer (6.4.17-3) unstable; urgency=medium
> +
> +  * Fix GitHub tags regex
> +  * Fix header injection vulnerability in address object
> +    (Closes: #990485, CVE-2021-23400)
> +
> + -- Yadd <y...@debian.org>  Wed, 30 Jun 2021 14:59:47 +0200
> +
>  node-nodemailer (6.4.17-2) unstable; urgency=medium
>  
>    * Ignore cookie test (Closes: #980702)
> diff -Nru node-nodemailer-6.4.17/debian/control 
> node-nodemailer-6.4.17/debian/control
> --- node-nodemailer-6.4.17/debian/control     2021-01-21 06:09:40.000000000 
> +0100
> +++ node-nodemailer-6.4.17/debian/control     2021-04-15 20:35:08.000000000 
> +0200
> @@ -2,7 +2,7 @@
>  Section: javascript
>  Priority: optional
>  Maintainer: Debian Javascript Maintainers 
> <pkg-javascript-de...@lists.alioth.debian.org>
> -Uploaders: Xavier Guimard <y...@debian.org>
> +Uploaders: Yadd <y...@debian.org>
>  Testsuite: autopkgtest-pkg-nodejs
>  Build-Depends:
>   debhelper-compat (= 13)
> diff -Nru node-nodemailer-6.4.17/debian/copyright 
> node-nodemailer-6.4.17/debian/copyright
> --- node-nodemailer-6.4.17/debian/copyright   2021-01-21 06:09:40.000000000 
> +0100
> +++ node-nodemailer-6.4.17/debian/copyright   2021-04-15 20:35:08.000000000 
> +0200
> @@ -8,7 +8,7 @@
>  License: Expat
>  
>  Files: debian/*
> -Copyright: 2019-2020, Xavier Guimard <y...@debian.org>
> +Copyright: 2019-2020, Yadd <y...@debian.org>
>  License: Expat
>  
>  Files: debian/tests/test_modules/base32.js/*
> diff -Nru node-nodemailer-6.4.17/debian/patches/CVE-2021-23400.patch 
> node-nodemailer-6.4.17/debian/patches/CVE-2021-23400.patch
> --- node-nodemailer-6.4.17/debian/patches/CVE-2021-23400.patch        
> 1970-01-01 01:00:00.000000000 +0100
> +++ node-nodemailer-6.4.17/debian/patches/CVE-2021-23400.patch        
> 2021-06-30 14:58:51.000000000 +0200
> @@ -0,0 +1,80 @@
> +Description: fix header injection vulnerability in address object
> +Author: Andris Reinman <and...@kreata.ee>
> +Origin: upstream, https://github.com/nodemailer/nodemailer/commit/7e02648c
> +Bug: https://github.com/nodemailer/nodemailer/issues/1289
> +Bug-Debian: https://bugs.debian.org/990485
> +Forwarded: not-needed
> +Reviewed-By: Yadd <y...@debian.org>
> +Last-Update: 2021-06-30
> +
> +--- a/lib/mime-node/index.js
> ++++ b/lib/mime-node/index.js
> +@@ -1130,9 +1130,9 @@
> +                 address.address = this._normalizeAddress(address.address);
> + 
> +                 if (!address.name) {
> +-                    values.push(address.address);
> ++                    values.push(address.address.indexOf(' ') >= 0 ? 
> `<${address.address}>` : `${address.address}`);
> +                 } else if (address.name) {
> +-                    values.push(this._encodeAddressName(address.name) + ' 
> <' + address.address + '>');
> ++                    values.push(`${this._encodeAddressName(address.name)} 
> <${address.address}>`);
> +                 }
> + 
> +                 if (address.address) {
> +@@ -1141,9 +1141,8 @@
> +                     }
> +                 }
> +             } else if (address.group) {
> +-                values.push(
> +-                    this._encodeAddressName(address.name) + ':' + 
> (address.group.length ? this._convertAddresses(address.group, uniqueList) : 
> '').trim() + ';'
> +-                );
> ++                let groupListAddresses = (address.group.length ? 
> this._convertAddresses(address.group, uniqueList) : '').trim();
> ++                
> values.push(`${this._encodeAddressName(address.name)}:${groupListAddresses};`);
> +             }
> +         });
> + 
> +@@ -1157,13 +1156,17 @@
> +      * @return {String} address string
> +      */
> +     _normalizeAddress(address) {
> +-        address = (address || '').toString().trim();
> ++        address = (address || '')
> ++            .toString()
> ++            .replace(/[\x00-\x1F<>]+/g, ' ') // remove unallowed characters
> ++            .trim();
> + 
> +         let lastAt = address.lastIndexOf('@');
> +         if (lastAt < 0) {
> +             // Bare username
> +             return address;
> +         }
> ++
> +         let user = address.substr(0, lastAt);
> +         let domain = address.substr(lastAt + 1);
> + 
> +@@ -1172,7 +1175,24 @@
> +         // 'jõgeva.ee' will be converted to 'xn--jgeva-dua.ee'
> +         // non-unicode domains are left as is
> + 
> +-        return user + '@' + punycode.toASCII(domain.toLowerCase());
> ++        let encodedDomain;
> ++
> ++        try {
> ++            encodedDomain = punycode.toASCII(domain.toLowerCase());
> ++        } catch (err) {
> ++            // keep as is?
> ++        }
> ++
> ++        if (user.indexOf(' ') >= 0) {
> ++            if (user.charAt(0) !== '"') {
> ++                user = '"' + user;
> ++            }
> ++            if (user.substr(-1) !== '"') {
> ++                user = user + '"';
> ++            }
> ++        }
> ++
> ++        return `${user}@${encodedDomain}`;
> +     }
> + 
> +     /**
> diff -Nru node-nodemailer-6.4.17/debian/patches/series 
> node-nodemailer-6.4.17/debian/patches/series
> --- node-nodemailer-6.4.17/debian/patches/series      1970-01-01 
> 01:00:00.000000000 +0100
> +++ node-nodemailer-6.4.17/debian/patches/series      2021-06-30 
> 14:56:41.000000000 +0200
> @@ -0,0 +1 @@
> +CVE-2021-23400.patch
> diff -Nru node-nodemailer-6.4.17/debian/watch 
> node-nodemailer-6.4.17/debian/watch
> --- node-nodemailer-6.4.17/debian/watch       2019-10-12 09:57:06.000000000 
> +0200
> +++ node-nodemailer-6.4.17/debian/watch       2021-04-15 20:35:08.000000000 
> +0200
> @@ -2,4 +2,4 @@
>  opts=\
>  dversionmangle=auto,\
>  filenamemangle=s/.*\/v?([\d\.-]+)\.tar\.gz/node-nodemailer-$1.tar.gz/ \
> - https://github.com/nodemailer/nodemailer/releases 
> .*/archive/v?([\d\.]+).tar.gz
> + https://github.com/nodemailer/nodemailer/releases 
> .*/archive/.*/v?([\d\.]+).tar.gz


-- 
Sebastian Ramacher

Attachment: signature.asc
Description: PGP signature


--- End Message ---

Reply via email to