From 8a0d501ffcec2dcfb82269da2d4b692c3d62aae8 Mon Sep 17 00:00:00 2001 From: Gabriel Ngandu-Biseba Date: Mon, 31 Mar 2025 12:25:45 +0200 Subject: [PATCH] Use path.resolve instead of path.join in order to normalize the path. --- server/setup-database.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/server/setup-database.js b/server/setup-database.js index ddf664a19..48237907f 100644 --- a/server/setup-database.js +++ b/server/setup-database.js @@ -216,7 +216,7 @@ class SetupDatabase { const base64Data = dbConfig.caFile.replace(/^data:application\/octet-stream;base64,/, ""); const binaryData = Buffer.from(base64Data, "base64").toString("binary"); const tempCaDirectory = fs.mkdtempSync("kuma-ca-"); - dbConfig.caFilePath = path.join(tempCaDirectory, "ca.pem"); + dbConfig.caFilePath = path.resolve(tempCaDirectory, "ca.pem"); try { fs.writeFileSync(dbConfig.caFilePath, binaryData, "binary"); } catch (err) { @@ -255,7 +255,13 @@ class SetupDatabase { } // Write db-config.json - Database.writeDBConfig(dbConfig); + try { + Database.writeDBConfig(dbConfig); + } catch (e) { + response.status(400).json("Cannot write db-config.json: " + e.message); + this.runningSetup = false; + return; + } response.json({ ok: true,