Skip to content

Commit 3a01248

Browse files
committed
fix: use replaceAll in processTemplate to prevent ReDoS vulnerabilities
1 parent 6297ed0 commit 3a01248

2 files changed

Lines changed: 3 additions & 3 deletions

File tree

src/util/templateUtils.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -350,9 +350,9 @@ export function processTemplate(
350350
replacements["{parent_issue_state}"] = "";
351351
}
352352

353-
// Replace all variables
353+
// Replace all variables (using replaceAll to avoid ReDoS vulnerabilities)
354354
for (const [placeholder, value] of Object.entries(replacements)) {
355-
result = result.replace(new RegExp(escapeRegExp(placeholder), "g"), value);
355+
result = result.replaceAll(placeholder, value);
356356
}
357357

358358
// Process dynamic project field access: {project_field:FieldName}

tsconfig.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
"importHelpers": true,
1212
"isolatedModules": true,
1313
"strictNullChecks": true,
14-
"lib": ["DOM", "ES5", "ES6", "ES7"]
14+
"lib": ["DOM", "ES5", "ES6", "ES7", "ES2021"]
1515
},
1616
"include": ["**/*.ts"]
1717
}

0 commit comments

Comments
 (0)