diff --git a/lib/logger/utils.spec.ts b/lib/logger/utils.spec.ts
index 95b02ef5f0a97aca723cf7afb0474ac97da114c2..376584700b8f4012d6e0d3bf2e94612854952f14 100644
--- a/lib/logger/utils.spec.ts
+++ b/lib/logger/utils.spec.ts
@@ -37,6 +37,7 @@ describe('logger/utils', () => {
     input                                                                 | output
     ${' https://somepw@domain.com/gitlab/org/repo?go-get'}                | ${' https://**redacted**@domain.com/gitlab/org/repo?go-get'}
     ${'https://someuser:somepw@domain.com'}                               | ${'https://**redacted**@domain.com'}
+    ${'https://someuser:pass%word_with-speci(a)l&chars@domain.com'}       | ${'https://**redacted**@domain.com'}
     ${'https://someuser:@domain.com'}                                     | ${'https://**redacted**@domain.com'}
     ${'redis://:somepw@172.32.11.71:6379/0'}                              | ${'redis://**redacted**@172.32.11.71:6379/0'}
     ${'some text with\r\n url: https://somepw@domain.com\nand some more'} | ${'some text with\r\n url: https://**redacted**@domain.com\nand some more'}
diff --git a/lib/logger/utils.ts b/lib/logger/utils.ts
index e4b34a13579b3ab760630784f92f66ee6636fb3b..d16976867840803ef9f375e39e21f9867a2f9915 100644
--- a/lib/logger/utils.ts
+++ b/lib/logger/utils.ts
@@ -244,7 +244,7 @@ export function validateLogLevel(logLevelToCheck: string | undefined): void {
 }
 
 // Can't use `util/regex` because of circular reference to logger
-const urlRe = /[a-z]{3,9}:\/\/[-;:&=+$,\w]+@[a-z0-9.-]+/gi;
+const urlRe = /[a-z]{3,9}:\/\/[^@/]+@[a-z0-9.-]+/gi;
 const urlCredRe = /\/\/[^@]+@/g;
 
 export function sanitizeUrls(text: string): string {