Reference: https://www.theregister.com/2023/04/25/apache_superset_cve/
superset の古いバージョンはデフォルトで"\2\1thisismyscretkey\1\2\\e\\y\\y\\h"
を暗号化キーとして使用し、セッションとデータベーステーブルの暗号化に使用されます。新しいバージョンでは'USE_YOUR_OWN_SECURE_RANDOM_KEY'
に変更されました。
superset/config.py でこの値を変更した後、アプリケーションが正常に動作しないことがわかり、データベースの復号化に失敗するエラーが発生しました。言及されているコミットを見つけ、SecretsMigrator がデータテーブルの移行を行うことを発見しました。
したがって、古いバージョンを修正するためには、次の手順が必要です:
- config.py 内の SECRET_KEY を変更する
- PREVIOUS_SECRET_KEY="\2\1thisismyscretkey\1\2\e\y\y\h" を追加する
utils/encrypt
を上書きする: wget https://github.com/apache/superset/blob/412189fcb73268ddd4829d2fdb8381c5e47595ce/superset/utils/encrypt.pysuperset/cli.py
を変更する:このcommitに従って変更する- superset re-encrypt-secrets を実行する