From 9eeda5797f8792015dcc3d1e82fd1403ce75e3fb Mon Sep 17 00:00:00 2001 From: 7ttp <117663341+7ttp@users.noreply.github.com> Date: Thu, 6 Aug 2026 04:44:59 +0530 Subject: [PATCH] fix(api): clear codeql redos alert --- packages/api/scripts/openapi-overrides.json | 10 ++++++++++ packages/api/src/generated/contracts.ts | 14 ++++++++++---- packages/api/src/generated/openapi.json | 4 ++-- 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/packages/api/scripts/openapi-overrides.json b/packages/api/scripts/openapi-overrides.json index 734bc078db..ee82bed371 100644 --- a/packages/api/scripts/openapi-overrides.json +++ b/packages/api/scripts/openapi-overrides.json @@ -612,5 +612,15 @@ "op": "replace", "path": "/components/schemas/StorageConfigResponse/required", "value": ["fileSizeLimit", "features", "capabilities", "external", "migrationVersion"] + }, + { + "op": "replace", + "path": "/components/schemas/UpdateAuthConfigBody/properties/sessions_tags/pattern", + "value": "^(?:\\s*|\\s*[a-zA-Z0-9_-]+(?:\\s*,+\\s*[a-zA-Z0-9_-]+)*(?:\\s*,+)?\\s*)$" + }, + { + "op": "replace", + "path": "/components/schemas/UpdateAuthConfigBody/properties/sms_test_otp/pattern", + "value": "^(?:[0-9]{1,15}=(?:[0-9]+,[0-9]{1,15}=|[0-9]{2,}=)*[0-9]+,?)?$" } ] diff --git a/packages/api/src/generated/contracts.ts b/packages/api/src/generated/contracts.ts index 589f6895ea..6e5f36f43b 100644 --- a/packages/api/src/generated/contracts.ts +++ b/packages/api/src/generated/contracts.ts @@ -8094,8 +8094,11 @@ export const V1UpdateAuthServiceConfigInput = Schema.Struct({ sessions_tags: Schema.optionalKey( Schema.Union([ Schema.String.check( - Schema.isPattern(new RegExp("^\\s*([a-zA-Z0-9_-]+(\\s*,+\\s*)?)*\\s*$")).annotate({ - expected: "a string matching the RegExp ^\\s*([a-zA-Z0-9_-]+(\\s*,+\\s*)?)*\\s*$", + Schema.isPattern( + new RegExp("^(?:\\s*|\\s*[a-zA-Z0-9_-]+(?:\\s*,+\\s*[a-zA-Z0-9_-]+)*(?:\\s*,+)?\\s*)$"), + ).annotate({ + expected: + "a string matching the RegExp ^(?:\\s*|\\s*[a-zA-Z0-9_-]+(?:\\s*,+\\s*[a-zA-Z0-9_-]+)*(?:\\s*,+)?\\s*)$", }), ), Schema.Null, @@ -8353,8 +8356,11 @@ export const V1UpdateAuthServiceConfigInput = Schema.Struct({ sms_test_otp: Schema.optionalKey( Schema.Union([ Schema.String.check( - Schema.isPattern(new RegExp("^([0-9]{1,15}=[0-9]+,?)*$")).annotate({ - expected: "a string matching the RegExp ^([0-9]{1,15}=[0-9]+,?)*$", + Schema.isPattern( + new RegExp("^(?:[0-9]{1,15}=(?:[0-9]+,[0-9]{1,15}=|[0-9]{2,}=)*[0-9]+,?)?$"), + ).annotate({ + expected: + "a string matching the RegExp ^(?:[0-9]{1,15}=(?:[0-9]+,[0-9]{1,15}=|[0-9]{2,}=)*[0-9]+,?)?$", }), ), Schema.Null, diff --git a/packages/api/src/generated/openapi.json b/packages/api/src/generated/openapi.json index 1bc9c9fd22..07f8909630 100644 --- a/packages/api/src/generated/openapi.json +++ b/packages/api/src/generated/openapi.json @@ -15824,7 +15824,7 @@ }, "sessions_tags": { "type": "string", - "pattern": "^\\s*([a-zA-Z0-9_-]+(\\s*,+\\s*)?)*\\s*$", + "pattern": "^(?:\\s*|\\s*[a-zA-Z0-9_-]+(?:\\s*,+\\s*[a-zA-Z0-9_-]+)*(?:\\s*,+)?\\s*)$", "nullable": true }, "rate_limit_anonymous_users": { @@ -15959,7 +15959,7 @@ }, "sms_test_otp": { "type": "string", - "pattern": "^([0-9]{1,15}=[0-9]+,?)*$", + "pattern": "^(?:[0-9]{1,15}=(?:[0-9]+,[0-9]{1,15}=|[0-9]{2,}=)*[0-9]+,?)?$", "nullable": true }, "sms_test_otp_valid_until": {