From ebcb25e5a70f25e06282166cfbf82563f3d6658f Mon Sep 17 00:00:00 2001 From: jeremiah-RENISAC Date: Wed, 9 Sep 2026 11:37:29 -0400 Subject: [PATCH 1/3] Prevent resetting existing admin_key --- core/files/configure_misp.sh | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/core/files/configure_misp.sh b/core/files/configure_misp.sh index 627df9c2..65881bc1 100755 --- a/core/files/configure_misp.sh +++ b/core/files/configure_misp.sh @@ -477,12 +477,18 @@ init_user() { fi if [ -n "$ADMIN_KEY" ]; then - if [ "$DISABLE_PRINTING_PLAINTEXT_CREDENTIALS" == "true" ]; then - echo "... setting admin key from environment variable" + ADMIN_KEY_ALREADY_SET=$($MYSQL_CMD -N -s -e 'SELECT authkey FROM auth_keys WHERE user_id = 1 AND (expiration = 0 OR expiration > UNIX_TIMESTAMP());' | + php -r '$match = false; while (($hash = fgets(STDIN)) !== false) { $match = $match || password_verify(getenv("ADMIN_KEY"), trim($hash)); } echo (int) $match;') + if [ "$ADMIN_KEY_ALREADY_SET" = "1" ]; then + echo "... configured admin key already active, not changing" else - echo "... setting admin key to '${ADMIN_KEY}'" - fi - CHANGE_CMD=(sudo -u www-data /var/www/MISP/app/Console/cake User change_authkey 1 "${ADMIN_KEY}") + if [ "$DISABLE_PRINTING_PLAINTEXT_CREDENTIALS" == "true" ]; then + echo "... setting admin key from environment variable" + else + echo "... setting admin key to '${ADMIN_KEY}'" + fi + CHANGE_CMD=(sudo -u www-data /var/www/MISP/app/Console/cake User change_authkey 1 "${ADMIN_KEY}") + fi elif [ -z "$ADMIN_KEY" ] && [ "$AUTOGEN_ADMIN_KEY" == "true" ]; then HAS_VALID_KEY=$($MYSQL_CMD -N -s -e 'SELECT EXISTS(SELECT 1 FROM auth_keys WHERE user_id = 1 AND (expiration = 0 OR expiration > UNIX_TIMESTAMP()));') if (( HAS_VALID_KEY == 0 )); then From 6990cf8cb75fa44a4cf7d124dcdf5666f921f6aa Mon Sep 17 00:00:00 2001 From: jeremiah-RENISAC Date: Wed, 9 Sep 2026 11:38:43 -0400 Subject: [PATCH 2/3] Fix indenting --- core/files/configure_misp.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/files/configure_misp.sh b/core/files/configure_misp.sh index 65881bc1..b22a19fa 100755 --- a/core/files/configure_misp.sh +++ b/core/files/configure_misp.sh @@ -491,11 +491,11 @@ init_user() { fi elif [ -z "$ADMIN_KEY" ] && [ "$AUTOGEN_ADMIN_KEY" == "true" ]; then HAS_VALID_KEY=$($MYSQL_CMD -N -s -e 'SELECT EXISTS(SELECT 1 FROM auth_keys WHERE user_id = 1 AND (expiration = 0 OR expiration > UNIX_TIMESTAMP()));') - if (( HAS_VALID_KEY == 0 )); then + if (( HAS_VALID_KEY == 0 )); then echo "... regenerating admin key (set \$ADMIN_KEY if you want it to change)" CHANGE_CMD=(sudo -u www-data /var/www/MISP/app/Console/cake User change_authkey 1) - else - echo "... valid admin key for admin user found, not changing" + else + echo "... valid admin key for admin user found, not changing" fi else echo "... admin user key auto generation disabled" From d23dee5deda0c9481c65d293a502f977b59423a7 Mon Sep 17 00:00:00 2001 From: jeremiah-RENISAC Date: Thu, 8 Oct 2026 13:16:15 -0400 Subject: [PATCH 3/3] Fix indentation in configure_misp.sh --- core/files/configure_misp.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/files/configure_misp.sh b/core/files/configure_misp.sh index b22a19fa..8318de76 100755 --- a/core/files/configure_misp.sh +++ b/core/files/configure_misp.sh @@ -488,7 +488,7 @@ init_user() { echo "... setting admin key to '${ADMIN_KEY}'" fi CHANGE_CMD=(sudo -u www-data /var/www/MISP/app/Console/cake User change_authkey 1 "${ADMIN_KEY}") - fi + fi elif [ -z "$ADMIN_KEY" ] && [ "$AUTOGEN_ADMIN_KEY" == "true" ]; then HAS_VALID_KEY=$($MYSQL_CMD -N -s -e 'SELECT EXISTS(SELECT 1 FROM auth_keys WHERE user_id = 1 AND (expiration = 0 OR expiration > UNIX_TIMESTAMP()));') if (( HAS_VALID_KEY == 0 )); then