安全研究人员在 Appsmith 中发现了多个严重漏洞,Appsmith 是一款广受欢迎的用于构建内部应用程序的开源开发者平台。
最令人担忧的是 CVE-2024-55963 漏洞,该漏洞允许未经身份验证的攻击者在运行 Appsmith 1.20 至 1.51 默认安装版本的服务器上执行任意系统命令。
CVE-2024-55963 —— 以 PostgreSQL 用户身份进行远程代码执行
Appsmith 可帮助组织构建仪表板、管理面板和客户支持工具,它附带一个本地 PostgreSQL 数据库,旨在用于实践和学习目的。
Rhino 安全实验室发现,该数据库在默认安装中存在严重配置错误。
PostgreSQL 身份验证配置文件(pg_hba.conf)中的设置允许任何本地用户无需密码即可以任何 PostgreSQL 用户身份连接。
该漏洞之所以可被利用,是因为 Appsmith 的默认配置允许新用户注册。攻击者可以注册一个账户,创建一个工作区,添加一个新应用程序,然后连接到配置错误的本地 PostgreSQL 数据库。
一旦连接成功,攻击者就可以利用 PostgreSQL 的 COPY FROM PROGRAM 函数,以 PostgreSQL 用户的权限执行任意系统命令。
技术利用路径
攻击者创建一个临时表,执行 Unix 的‘cat’命令读取系统文件,检索结果,并通过删除表来消除证据。
安全审计还揭示了另外两个重大漏洞:
CVE-2024-55964:一个不安全的直接对象引用漏洞,允许具有最低 “应用程序查看者” 权限的用户通过利用可预测的数据源 ID 和 “/api/v1/datasources/[datasource-id]/schema-preview”API 端点来访问 SQL 数据库。
CVE-2024-55965:一个拒绝服务漏洞,使权限有限的用户能够通过重启 API 功能中的访问控制漏洞反复触发应用程序重启。
漏洞影响
这些漏洞的组合给使用 Appsmith 的组织带来了重大安全风险。
最严重的问题 CVE-2024-55963,本质上为未经身份验证的攻击者提供了一条完全攻破系统的途径。任何发现某个组织安装了 Appsmith 的攻击者都有可能:
1.注册一个用户账户
2.创建一个工作区和应用程序
3.连接到本地 PostgreSQL 数据库
4.执行任意系统命令
5.获得对底层服务器的持久访问权限
Appsmith 已与 Rhino 安全实验室合作解决这三个漏洞:
CVE-2024-55963(远程代码执行):在 1.52 版本中通过 PR #37068 进行了修复,该修复强化了 PostgreSQL 配置,并为内部数据库实施了基于密码的身份验证。
CVE-2024-55964(IDOR):在 1.49 版本中通过 PR #37308 进行了修复,为易受攻击的 API 端点添加了适当的基于角色的访问控制。
CVE-2024-55965(拒绝服务):在 1.48 版本中通过 PR #37227 进行了修复,为重启功能实施了适当的访问控制检查。
运行 Appsmith 实例的组织应立即升级到 1.52 或更高版本,以防范所有已识别的漏洞。
安全研究人员已发布了详细的技术分析和检测工具,包括用于扫描易受攻击实例的 Nuclei 模板。
文章原文链接:https://www.anquanke.com/post/id/305727