From ae31f04223aa149c19bb6b07709299f1f52169be Mon Sep 17 00:00:00 2001 From: Nikola Jokic Date: Thu, 9 Feb 2023 17:11:16 +0100 Subject: [PATCH] removed equal sign from env buffer, added defensive guard against the key (#62) * removed equal sign from env buffer, added defensive guard against the key * Update packages/k8s/src/k8s/utils.ts Co-authored-by: John Sudol <24583161+johnsudol@users.noreply.github.com> * Update packages/k8s/src/k8s/utils.ts Co-authored-by: Ferenc Hammerl <31069338+fhammerl@users.noreply.github.com> * fix format --------- Co-authored-by: John Sudol <24583161+johnsudol@users.noreply.github.com> Co-authored-by: Ferenc Hammerl <31069338+fhammerl@users.noreply.github.com> --- packages/k8s/src/k8s/utils.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/k8s/src/k8s/utils.ts b/packages/k8s/src/k8s/utils.ts index bf637b6..6fff667 100644 --- a/packages/k8s/src/k8s/utils.ts +++ b/packages/k8s/src/k8s/utils.ts @@ -111,11 +111,13 @@ export function writeEntryPointScript( if (environmentVariables && Object.entries(environmentVariables).length) { const envBuffer: string[] = [] for (const [key, value] of Object.entries(environmentVariables)) { + if (key.includes(`=`) || key.includes(`'`) || key.includes(`"`)) { + throw new Error( + `environment key ${key} is invalid - the key must not contain =, ' or "` + ) + } envBuffer.push( - `"${key}=${value - .replace(/\\/g, '\\\\') - .replace(/"/g, '\\"') - .replace(/=/g, '\\=')}"` + `"${key}=${value.replace(/\\/g, '\\\\').replace(/"/g, '\\"')}"` ) } environmentPrefix = `env ${envBuffer.join(' ')} `