From 9286dcb6ce72210be85ffcecc3f4952eb11cfd19 Mon Sep 17 00:00:00 2001 From: Peace Date: Wed, 1 Feb 2023 20:16:56 +0100 Subject: [PATCH] fix: add serverside check against endless loops --- server/server.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/server/server.js b/server/server.js index deca267da..2d065abea 100644 --- a/server/server.js +++ b/server/server.js @@ -674,6 +674,14 @@ let needSetup = false; throw new Error("Permission denied."); } + // Check if Parent is Decendant (would cause endless loop) + if (monitor.parent !== null) { + const childIDs = await Monitor.getAllChildrenIDs(monitor.id); + if (childIDs.includes(monitor.parent)) { + throw new Error("Invalid Monitor Group"); + } + } + // Reset Prometheus labels server.monitorList[monitor.id]?.prometheus()?.remove();