From 8ffd9a5e2a396a10a9ba9b136efaa198c81d63b4 Mon Sep 17 00:00:00 2001 From: Yasir Rafique Date: Fri, 18 Jul 2025 11:58:27 +0100 Subject: [PATCH] Tighten Docker hostname regex for monitor URL validation --- client/src/Validation/validation.js | 2 +- server/validation/joi.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/client/src/Validation/validation.js b/client/src/Validation/validation.js index 887e4e487..7676d65d8 100644 --- a/client/src/Validation/validation.js +++ b/client/src/Validation/validation.js @@ -130,7 +130,7 @@ const monitorValidation = joi.object({ .custom((value, helpers) => { const noProtocol = value.replace(/^(https?:\/\/)/, ""); - if (/^[a-zA-Z0-9.-]+(:\d{1,5})?$/.test(noProtocol)) { + if (/^[a-zA-Z0-9]([a-zA-Z0-9.-]*[a-zA-Z0-9])?(:\d{1,5})?$/.test(noProtocol)) { return value; } diff --git a/server/validation/joi.js b/server/validation/joi.js index 8549d470a..3fb652736 100755 --- a/server/validation/joi.js +++ b/server/validation/joi.js @@ -174,7 +174,7 @@ const createMonitorBodyValidation = joi.object({ .custom((value, helpers) => { const noProtocol = value.replace(/^(https?:\/\/)/, ""); - if (/^[a-zA-Z0-9.-]+(:\d{1,5})?$/.test(noProtocol)) { + if (/^[a-zA-Z0-9]([a-zA-Z0-9.-]*[a-zA-Z0-9])?(:\d{1,5})?$/.test(noProtocol)) { return value; }