From 66e9dc878516d319fde4613482f0b828fc742fb9 Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Fri, 21 Nov 2025 20:26:26 +0100 Subject: [PATCH 1/2] util: use `RegExp.escape` to better escape `debugEnv` --- lib/internal/util/debuglog.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/internal/util/debuglog.js b/lib/internal/util/debuglog.js index 06a4f8a2398555..996493de07f85e 100644 --- a/lib/internal/util/debuglog.js +++ b/lib/internal/util/debuglog.js @@ -6,6 +6,7 @@ const { NumberPrototypeToFixed, ObjectDefineProperty, RegExp, + RegExpEscape, RegExpPrototypeExec, SafeArrayIterator, SafeMap, @@ -33,9 +34,9 @@ function initializeDebugEnv(debugEnv) { debugImpls = { __proto__: null }; if (debugEnv) { // This is run before any user code, it's OK not to use primordials. - debugEnv = debugEnv.replace(/[|\\{}()[\]^$+?.]/g, '\\$&') - .replaceAll('*', '.*') - .replaceAll(',', '$|^'); + debugEnv = RegExpEscape(debugEnv) + .replaceAll(/(?<=[^\\]|^)\\\*/g, '[^.]*') + .replaceAll(RegExpEscape(','), '$|^'); const debugEnvRegex = new RegExp(`^${debugEnv}$`, 'i'); testEnabled = (str) => RegExpPrototypeExec(debugEnvRegex, str) !== null; } else { From bbf76881830fc0de2db074b85b948be46356d16c Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Fri, 21 Nov 2025 20:45:31 +0100 Subject: [PATCH 2/2] fixup! util: use `RegExp.escape` to better escape `debugEnv` --- lib/internal/util/debuglog.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/internal/util/debuglog.js b/lib/internal/util/debuglog.js index 996493de07f85e..c8d8178fdd1617 100644 --- a/lib/internal/util/debuglog.js +++ b/lib/internal/util/debuglog.js @@ -35,7 +35,7 @@ function initializeDebugEnv(debugEnv) { if (debugEnv) { // This is run before any user code, it's OK not to use primordials. debugEnv = RegExpEscape(debugEnv) - .replaceAll(/(?<=[^\\]|^)\\\*/g, '[^.]*') + .replaceAll(RegExpEscape('*'), '[^.]*') .replaceAll(RegExpEscape(','), '$|^'); const debugEnvRegex = new RegExp(`^${debugEnv}$`, 'i'); testEnabled = (str) => RegExpPrototypeExec(debugEnvRegex, str) !== null;