mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-11 20:25:32 +03:00
nixos/wordpress: regenerate secret keys if misspelled key name is found
A secret key generated by the nixos module was misspelled, which could possibly impact the security of session cookies. To recover from this situation we will wipe all security keys that were previously generated by the NixOS module, when the misspelled one is found. This will result in all session cookies being invalidated. This is confirmed by the wordpress documentation: > You can change these at any point in time to invalidate all existing > cookies. This does mean that all users will have to login again. https://wordpress.org/support/article/editing-wp-config-php/#security-keys Meanwhile this issue shouldn't be too grave, since the salting function of wordpress will rely on the concatenation of both the user-provided and automatically generated values, that are stored in the database. > Secret keys are located in two places: in the database and in the > wp-config.php file. The secret key in the database is randomly > generated and will be appended to the secret keys in wp-config.php. https://developer.wordpress.org/reference/functions/wp_salt/ Fixes:2adb03fdae
("nixos/wordpress: generate secrets locally") Reported-by: Moritz Hedtke <Moritz.Hedtke@t-online.de> (cherry picked from commit724ed08df0
)
This commit is contained in:
parent
e7f90ce89c
commit
f4d6d51a09
1 changed files with 3 additions and 1 deletions
|
@ -61,8 +61,10 @@ let
|
|||
?>
|
||||
'';
|
||||
|
||||
secretsVars = [ "AUTH_KEY" "SECURE_AUTH_KEY" "LOOGGED_IN_KEY" "NONCE_KEY" "AUTH_SALT" "SECURE_AUTH_SALT" "LOGGED_IN_SALT" "NONCE_SALT" ];
|
||||
secretsVars = [ "AUTH_KEY" "SECURE_AUTH_KEY" "LOGGED_IN_KEY" "NONCE_KEY" "AUTH_SALT" "SECURE_AUTH_SALT" "LOGGED_IN_SALT" "NONCE_SALT" ];
|
||||
secretsScript = hostStateDir: ''
|
||||
# The match in this line is not a typo, see https://github.com/NixOS/nixpkgs/pull/124839
|
||||
grep -q "LOOGGED_IN_KEY" "${hostStateDir}/secret-keys.php" && rm "${hostStateDir}/secret-keys.php"
|
||||
if ! test -e "${hostStateDir}/secret-keys.php"; then
|
||||
umask 0177
|
||||
echo "<?php" >> "${hostStateDir}/secret-keys.php"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue