AshPostgres 空的、原子的、非批量操作,策略绕过副作用漏洞。(CVE-2024-49756)
CVE编号
CVE-2024-49756利用情况
暂无补丁情况
N/A披露时间
2024-10-24漏洞描述
AshPostgres是Ash Framework的PostgreSQL数据层。在版本2.0.0至版本2.4.10之前,在某些特定情况下,更新操作的策略可能会被跳过。这种情况只发生在“空”的更新操作上(没有更改字段),并允许在不应该执行时执行它们的钩子(副作用)。请注意,这并不会允许用户访问其无权访问的新数据,只会触发用户不应触发的副作用。要受到影响,受影响用户必须有一个更新操作,该操作涉及没有包含“更新默认”(例如更新时间戳)属性的资源;可以原子执行;不要求`require_atomic? false`;至少有一个授权器(通常是`Ash.Policy.Authorizer`);并且在资源的变化块本身或操作本身中至少有一个变化。这就是在不应该执行时执行副作用的地方。这个问题已在`ash_postgres`的`2.4.10`版本中得到了修复。提供了几种解决方法。可能受影响的用户可以使用维护人员在GitHub安全咨询中提供的脚本来确定他们的操作是否易受攻击,将`require_atomic? false`添加到任何可能受影响的更新操作中,将受影响操作的任何`Ash.update`使用替换为`Ash.bulk_update`,和/或在操作中添加更新时间戳。解决建议
建议您更新当前系统或软件至最新版,完成漏洞的修复。- 攻击路径 N/A
- 攻击复杂度 N/A
- 权限要求 N/A
- 影响范围 N/A
- 用户交互 N/A
- 可用性 N/A
- 保密性 N/A
- 完整性 N/A
CWE-ID | 漏洞类型 |
CWE-552 | 对外部实体的文件或目录可访问 |
Exp相关链接

版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
评论