Backport fix for CVE-2021-35065
This commit is contained in:
parent
5e9ddc328a
commit
30164018f8
@ -0,0 +1,63 @@
|
||||
From 03b97db840718e36aaa091f95a98a0b81764093b Mon Sep 17 00:00:00 2001
|
||||
From: Takayuki Sato <sttk.xslet@gmail.com>
|
||||
Date: Tue, 20 Jul 2021 14:46:33 +0900
|
||||
Subject: [PATCH] deps(glob-parent): Resolve ReDoS vulnerability from
|
||||
CVE-2021-35065 (#49)
|
||||
|
||||
Signed-off-by: rpm-build <rpm-build>
|
||||
---
|
||||
node_modules/glob-parent/index.js | 27 +++++++++++++++++++++++++--
|
||||
1 file changed, 25 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/node_modules/glob-parent/index.js b/node_modules/glob-parent/index.js
|
||||
index 09e257e..b182190 100644
|
||||
--- a/node_modules/glob-parent/index.js
|
||||
+++ b/node_modules/glob-parent/index.js
|
||||
@@ -6,7 +6,6 @@ var isWin32 = require('os').platform() === 'win32';
|
||||
|
||||
var slash = '/';
|
||||
var backslash = /\\/g;
|
||||
-var enclosure = /[\{\[].*[\}\]]$/;
|
||||
var globby = /(^|[^\\])([\{\[]|\([^\)]+$)/;
|
||||
var escaped = /\\([\!\*\?\|\[\]\(\)\{\}])/g;
|
||||
|
||||
@@ -25,7 +24,7 @@ module.exports = function globParent(str, opts) {
|
||||
}
|
||||
|
||||
// special case for strings ending in enclosure containing path separator
|
||||
- if (enclosure.test(str)) {
|
||||
+ if (isEnclosure(str)) {
|
||||
str += slash;
|
||||
}
|
||||
|
||||
@@ -40,3 +39,27 @@ module.exports = function globParent(str, opts) {
|
||||
// remove escape chars and return result
|
||||
return str.replace(escaped, '$1');
|
||||
};
|
||||
+
|
||||
+
|
||||
+function isEnclosure(str) {
|
||||
+ var lastChar = str.slice(-1)
|
||||
+
|
||||
+ var enclosureStart;
|
||||
+ switch (lastChar) {
|
||||
+ case '}':
|
||||
+ enclosureStart = '{';
|
||||
+ break;
|
||||
+ case ']':
|
||||
+ enclosureStart = '[';
|
||||
+ break;
|
||||
+ default:
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ var foundIndex = str.indexOf(enclosureStart);
|
||||
+ if (foundIndex < 0) {
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ return str.slice(foundIndex + 1, -1).includes(slash);
|
||||
+}
|
||||
--
|
||||
2.39.2
|
||||
|
@ -6,12 +6,14 @@
|
||||
|
||||
Name: nodejs-%{npm_name}
|
||||
Version: 2.0.20
|
||||
Release: 2%{?dist}
|
||||
Release: 3%{?dist}
|
||||
Summary: Simple monitor script for use during development of a node.js app
|
||||
License: MIT
|
||||
URL: https://www.npmjs.com/package/nodemon
|
||||
Source0: %{npm_name}-v%{version}-bundled.tar.gz
|
||||
|
||||
Patch1: 0001-deps-glob-parent-Resolve-ReDoS-vulnerability-from-CV.patch
|
||||
|
||||
BuildRequires: nodejs-devel
|
||||
BuildRequires: nodejs-packaging
|
||||
BuildRequires: npm
|
||||
@ -47,7 +49,7 @@ replacement wrapper for node, think of it as replacing the word "node"
|
||||
on the command line when you run your script.
|
||||
|
||||
%prep
|
||||
%setup -q -n package
|
||||
%autosetup -p1 -n package
|
||||
|
||||
%build
|
||||
|
||||
@ -73,6 +75,10 @@ npm run test
|
||||
%{_bindir}/nodemon
|
||||
|
||||
%changelog
|
||||
* Mon Mar 06 2023 Jan Staněk <jstanek@redhat.com> - 2.0.20-3
|
||||
- Backport fix for CVE-2021-35065
|
||||
Resolves: CVE-2021-35065
|
||||
|
||||
* Mon Dec 12 2022 Jan Staněk <jstanek@redhat.com> - 2.0.20-2
|
||||
- Record remaining CVEs fixed by current rebase
|
||||
Resolves: CVE-2021-44906
|
||||
|
Loading…
Reference in New Issue
Block a user