Skip to content

Commit e9301f2

Browse files
committed
fix(security): escape regular expression
Refs #3505
1 parent 642a87c commit e9301f2

File tree

3 files changed

+4
-1
lines changed

3 files changed

+4
-1
lines changed

package-lock.json

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+1
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,7 @@
124124
"node-fetch-commonjs": "^3.3.2",
125125
"openapi-path-templating": "^1.5.1",
126126
"qs": "^6.10.2",
127+
"ramda-adjunct": "^5.0.0",
127128
"traverse": "=0.6.8"
128129
},
129130
"overrides": {

src/execute/index.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import cookie from 'cookie';
22
import { isPlainObject } from 'is-plain-object';
33
import { ApiDOMStructuredError } from '@swagger-api/apidom-error';
44
import { url } from '@swagger-api/apidom-reference/configuration/empty';
5+
import { escapeRegExp } from 'ramda-adjunct';
56

67
import { DEFAULT_BASE_URL, DEFAULT_OPENAPI_3_SERVER } from '../constants.js';
78
import stockHttp from '../http/index.js';
@@ -353,7 +354,7 @@ function oas3BaseUrl({ spec, pathName, method, server, contextUrl, serverVariabl
353354
const variableDefinition = selectedServerObj.variables[variable];
354355
const variableValue = serverVariables[variable] || variableDefinition.default;
355356

356-
const re = new RegExp(`{${variable}}`, 'g');
357+
const re = new RegExp(`{${escapeRegExp(variable)}}`, 'g');
357358
selectedServerUrl = selectedServerUrl.replace(re, variableValue);
358359
}
359360
});

0 commit comments

Comments
 (0)