原文:https://www.bleepingcomputer.com/news/security/thousands-of-apache-superset-servers-exposed-to-rce-attacks/
原作者:Bill Toulas

什么是 RCE 攻击
RCE 是远程代码执行(Remote Code Execution)的缩写。它指的是攻击者可以在远程系统上执行恶意代码的漏洞或攻击技术。通过 RCE 漏洞,攻击者可以在受害系统上执行任意代码,这样可以实现很多危险的操作,比如:
安装后门和木马,持续控制系统 破解管理员账户和密码 访问和泄露敏感数据 改变系统配置 删除或破坏系统文件导致服务中断
正文
Apache Superset 在默认配置下容易受到绕过身份验证和远程代码执行的攻击,从而使攻击者有可能访问和修改数据、获取凭据和执行命令。
Apache Superset 是一个开源数据可视化和探索工具,最初是为 Airbnb 开发的,后来在 2021 年成为 Apache 软件基金会的顶级项目。根据一份来自Horizon3[1]的报告,Apache Superset 使用默认 Flask Secret Key[2] 对身份验证会话 cookie 进行签名。因此,攻击者可以使用此默认密钥来伪造会话 cookie,使他们能够以管理员权限登录到未更改密钥的服务器。
虽然 Apache 文档[3] 确实告诉管理员更改密钥,但 Horizon3 表示,这种危险的默认配置目前在大约 2,000 个互联网暴露的服务器中可以检测到,这些服务器属于大学,不同规模的公司,政府组织等。
使用默认密钥(Horizon3)签名的会话 cookie
这个广泛使用的默认 Flask 密钥对于攻击者来说是已知的,他们可以使用flask-unsign[4]并伪造自己的 cookie 来获得目标的管理员访问权限,访问连接的数据库或在应用服务器上执行任意 SQL 语句。
“我们目前没有披露任何利用方法,尽管我们认为感兴趣的攻击者很容易弄清楚,”Horizon3 警告说 。
需要注意的是,如果管理员使用攻击者未知的密钥更改了默认密钥,则他们的安装不会受到此攻击。

发现和影响
该漏洞于 2021 年 10 月 11 日由 Horizon3 团队发现,并报告给 Apache 安全团队。
2022 年 1 月 11 日,软件开发人员发布了版本 1.4.1,将默认的SECRET_KEY
更改为新字符串,并且在启动时检测到默认字符串时向日志添加警告。

Horizon3 还发现了文档和模板中使用的另外两个默认键,并使用 Shodan 搜索使用这四个键的实例。
当时,Horizon 3 发现大约有 2,124 个(占总数的 67%)配置错误。

Horizon3 再次联系了 Apache 并提出了这些问题,并在 2023 年 2 月,研究人员开始向组织发送警告,要求更改其配置。
最终,在 2023 年 4 月 5 日,Superset 团队发布了版本 2.1.0,如果服务器使用默认的SECRET_KEY
,则不允许服务器启动。
由Superset团队实施的修复(Horizon3)
虽然这种激进的解决方案可以防止新的风险部署,但它并不能解决现有的错误配置,根据 Horizon 3 的说法,这些错误配置仍然存在于 2,000 多个案例中。
这家安全公司在 GitHub 上共享了一个脚本[5],Apache Superset 管理员可以使用它来确定他们的实例是否容易受到攻击。
参考资料
Horizon3: https://www.horizon3.ai/cve-2023-27524-insecure-default-configuration-in-apache-superset-leads-to-remote-code-execution/
[2]Flask 密钥: https://flask.palletsprojects.com/en/2.2.x/config/
[3]Apache 文档: https://web.archive.org/web/20230116021751/https://superset.apache.org/docs/installation/configuring-superset/#:~:text=Make%20sure%20to%20change%3A
[4]flask-unsign: https://github.com/Paradoxis/Flask-Unsign
[5]在 GitHub 上共享了一个脚本: https://github.com/horizon3ai/CVE-2023-27524
P.S.
我在 Apache Superset 如何升级到 1.4 也提到了这个问题。
很多基于Flask的应用恐怕都有这样的问题。




