[Pkg-javascript-devel] Bug#985943: buster-pu: package node-hosted-git-info/2.7.1-1+deb10u1

Yadd yadd at debian.org
Fri Mar 26 14:24:15 GMT 2021


Package: release.debian.org
Severity: normal
Tags: buster
User: release.debian.org at packages.debian.org
Usertags: pu
X-Debbugs-Cc: pkg-javascript-devel at lists.alioth.debian.org

[ Reason ]
node-hosted-git-info is vulnerable to RegExp Denial of Service

[ Impact ]
Medium security risk

[ Tests ]
Upstream test still pass with this patch

[ Risks ]
Trivial change

[ Checklist ]
  [X] *all* changes are documented in the d/changelog
  [X] I reviewed all changes and I approve them
  [X] attach debdiff against the package in (old)stable
  [X] the issue is verified as fixed in unstable

[ Changes ]
shortcutMatch regex is cut in two piece:
 - a more simple regexp
 - a distinc change to remove .git suffix

Cheers,
Yadd
-------------- next part --------------
diff --git a/debian/changelog b/debian/changelog
index b4038a0..f8baeef 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+node-hosted-git-info (2.7.1-1+deb10u1) buster; urgency=medium
+
+  * Team upload
+  * Fix ReDoS risk (Closes: CVE-2021-23362)
+
+ -- Yadd <yadd at debian.org>  Fri, 26 Mar 2021 15:17:21 +0100
+
 node-hosted-git-info (2.7.1-1) unstable; urgency=medium
 
   * New upstream version 2.7.1
diff --git a/debian/patches/CVE-2021-23362.patch b/debian/patches/CVE-2021-23362.patch
new file mode 100644
index 0000000..cadac62
--- /dev/null
+++ b/debian/patches/CVE-2021-23362.patch
@@ -0,0 +1,28 @@
+Description: avoid ReDoS
+Author: nlf <quitlahok at gmail.com>
+Origin: upstream, https://github.com/npm/hosted-git-info/commit/bede0dc3
+Bug: https://snyk.io/vuln/SNYK-JS-HOSTEDGITINFO-1088355
+Forwarded: not-needed
+Reviewed-By: Xavier Guimard <yadd at debian.org>
+Last-Update: 2021-03-26
+
+--- a/index.js
++++ b/index.js
+@@ -42,7 +42,7 @@
+     isGitHubShorthand(giturl) ? 'github:' + giturl : giturl
+   )
+   var parsed = parseGitUrl(url)
+-  var shortcutMatch = url.match(new RegExp('^([^:]+):(?:(?:[^@:]+(?:[^@]+)?@)?([^/]*))[/](.+?)(?:[.]git)?($|#)'))
++  var shortcutMatch = url.match(/^([^:]+):(?:[^@]+@)?(?:([^/]*)\/)?([^#]+)/)
+   var matches = Object.keys(gitHosts).map(function (gitHostName) {
+     try {
+       var gitHostInfo = gitHosts[gitHostName]
+@@ -56,7 +56,7 @@
+       var defaultRepresentation = null
+       if (shortcutMatch && shortcutMatch[1] === gitHostName) {
+         user = shortcutMatch[2] && decodeURIComponent(shortcutMatch[2])
+-        project = decodeURIComponent(shortcutMatch[3])
++        project = decodeURIComponent(shortcutMatch[3].replace(/\.git$/, ''))
+         defaultRepresentation = 'shortcut'
+       } else {
+         if (parsed.host && parsed.host !== gitHostInfo.domain && parsed.host.replace(/^www[.]/, '') !== gitHostInfo.domain) return
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..cc0f664
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+CVE-2021-23362.patch


More information about the Pkg-javascript-devel mailing list