File tree Expand file tree Collapse file tree 3 files changed +29
-1
lines changed
Expand file tree Collapse file tree 3 files changed +29
-1
lines changed Original file line number Diff line number Diff line change 4949 "@types/node" : " ^16.11.46" ,
5050 "@types/node-fetch" : " ^2.5.4" ,
5151 "@types/uuid" : " ^8.3.4" ,
52+ "@types/safe-regex" : " ^1.1.6" ,
5253 "amqp-connection-manager" : " ^3.1.0" ,
5354 "amqplib" : " ^0.5.5" ,
5455 "apollo-server-express" : " ^3.10.0" ,
7374 "mime-types" : " ^2.1.25" ,
7475 "mongodb" : " ^3.7.3" ,
7576 "ts-node-dev" : " ^2.0.0" ,
76- "uuid" : " ^8.3.2"
77+ "uuid" : " ^8.3.2" ,
78+ "safe-regex" : " ^2.1.0"
7779 }
7880}
Original file line number Diff line number Diff line change 11import { ResolverContextWithUser } from '../types/graphql' ;
22import { ApolloError } from 'apollo-server-express' ;
33import { ProjectEventGroupingPatternsDBScheme } from '@hawk.so/types' ;
4+ import { isSafeRegex } from 'safe-regex' ;
45
56/**
67 * Type that represents payload for create project pattern mutation
@@ -68,6 +69,14 @@ function validateNewEventGroupingPattern(
6869 try {
6970 /* eslint-disable-next-line no-new */
7071 new RegExp ( newEventGroupingPattern ) ;
72+
73+ /**
74+ * Check if pattern is safe RegExp
75+ */
76+ if ( ! isSafeRegex ( newEventGroupingPattern ) ) {
77+ throw new ApolloError ( 'Invalid regular expression pattern' ) ;
78+ }
79+
7180 } catch ( error ) {
7281 throw new ApolloError ( 'Invalid regular expression pattern' ) ;
7382 }
Original file line number Diff line number Diff line change 11761176 resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc"
11771177 integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==
11781178
1179+ " @types/safe-regex@^1.1.6 " :
1180+ version "1.1.6"
1181+ resolved "https://registry.yarnpkg.com/@types/safe-regex/-/safe-regex-1.1.6.tgz#1f13a950b77869e19626ae2dcf79e12902b38c0b"
1182+ integrity sha512-CQ/uPB9fLOPKwDsrTeVbNIkwfUthTWOx0l6uIGwVFjZxv7e68pCW5gtTYFzdJi3EBJp8h8zYhJbTasAbX7gEMQ==
1183+
11791184" @types/serve-static@* " :
11801185 version "1.15.0"
11811186 resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.0.tgz#c7930ff61afb334e121a9da780aac0d9b8f34155"
@@ -5632,6 +5637,11 @@ regex-not@^1.0.0, regex-not@^1.0.2:
56325637 extend-shallow "^3.0.2"
56335638 safe-regex "^1.1.0"
56345639
5640+ regexp-tree@~0.1.1 :
5641+ version "0.1.27"
5642+ resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.27.tgz#2198f0ef54518ffa743fe74d983b56ffd631b6cd"
5643+ integrity sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==
5644+
56355645regexp.prototype.flags@^1.4.3 :
56365646 version "1.4.3"
56375647 resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac"
@@ -5803,6 +5813,13 @@ safe-regex@^1.1.0:
58035813 dependencies :
58045814 ret "~0.1.10"
58055815
5816+ safe-regex@^2.1.0 :
5817+ version "2.1.1"
5818+ resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-2.1.1.tgz#f7128f00d056e2fe5c11e81a1324dd974aadced2"
5819+ integrity sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==
5820+ dependencies :
5821+ regexp-tree "~0.1.1"
5822+
58065823" safer-buffer@>= 2.1.2 < 3 " :
58075824 version "2.1.2"
58085825 resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
You can’t perform that action at this time.
0 commit comments