目标达成 感谢每一位支持者 — 我们达成了 100% 目标!

目标: 1000 元 · 已筹: 1359 元

100%

CVE-2026-94201— Ash 中 unsafe_to_atom? 耗尽 BEAM 原子表漏洞

一分钟漏洞结论

影响对象
ash-project ash
利用判断
尚无明确在野利用证据,仍需结合暴露面评估
建议动作
优先检查厂商安全公告和参考链接中的修复版本;无法立即升级时,限制受影响服务暴露并加强监测。

Ash 将 类型的属性存储为字符串,并以字符串形式进行比较。当此类属性在过滤器中被引用时,比较值会通过 进行强制类型转换(coercion)。由于该类型未定义 回调,强制类型转换回退到了默认行为(即 ),而在属性配置了 约束时, 会调用 。 因此,如果攻击者使用可控字符串对这类属性进行过滤,则每提供一个不同的值,就会生成一个新的、永久驻留的原子(atom)。在 BEAM(Erlang 虚拟机)中,原子不会被垃圾回收,且原子表存在容量上限。于是,能够向公开的、可过滤的、且配置了 的 类型属性提供过滤值的攻击者,可以耗

CVSS 8.2 · High

影响版本矩阵 2

厂商产品 版本范围状态
ash-project ash 3.5.1< 3.34.3 affected
2970ba3bd5d36d6ad04c731ac87385375d457147< 5282f3f513053628cdd1bf2236ea22d975d934d4 affected
获取后续新漏洞提醒 登录后订阅

一、 漏洞 CVE-2026-94201 基础信息

漏洞信息

对漏洞内容有疑问?看看神龙的深度分析是否有帮助!
查看神龙十问 ↗

尽管我们使用了先进的大模型技术,但其输出仍可能包含不准确或过时的信息。神龙努力确保数据的准确性,但请您根据实际情况进行核实和判断。

Vulnerability Title
Filtering an :atom attribute with unsafe_to_atom? can exhaust the BEAM atom table in Ash
来源: CVE Program / CVE List V5
Vulnerability Description
Ash stores :atom-typed attributes as strings and compares them as strings. When such an attribute is referenced in a filter, the comparison value is coerced through Ash.Type.Atom. Because the type defined no coerce/2 callback, coercion fell back to the default (cast_input/2), which calls String.to_atom/1 when the attribute is configured with the unsafe_to_atom?: true constraint. Filtering such an attribute with attacker-controlled strings therefore interned a new, permanent atom for every distinct value. Atoms are never garbage collected and the BEAM caps the atom table, so an actor who can supply filter values for a public, filterable :atom attribute declared with unsafe_to_atom?: true can exhaust the atom table and crash the node (denial of service). AshPaperTrail is a notable example: its version resources expose a public, filterable version_action_name atom attribute with unsafe_to_atom?: true by default. The fix adds a coerce/2 to Ash.Type.Atom that never interns atoms — a comparison value is left as a string, since the type is stored and compared as a string. Setting the attribute from action input (cast_input/2, which still honors unsafe_to_atom?) is unchanged. This issue affects ash: from 3.5.1 before 3.34.3.
来源: CVE Program / CVE List V5
CVSS Information
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
来源: CVE Program / CVE List V5
Vulnerability Type
不加限制或调节的资源分配
来源: CVE Program / CVE List V5

受影响产品

厂商 产品 影响版本 CPE 订阅
ash-project ash 3.5.1 ~ 3.34.3 cpe:2.3:a:ash-project:ash:*:*:*:*:*:*:*:*
ash-project ash 2970ba3bd5d36d6ad04c731ac87385375d457147 ~ 5282f3f513053628cdd1bf2236ea22d975d934d4 cpe:2.3:a:ash-project:ash:*:*:*:*:*:*:*:*

二、漏洞 CVE-2026-94201 的公开POC

# POC 描述 源链接 神龙链接
AI 生成 POC 高级

未找到公开 POC。

登录以生成 AI POC

三、漏洞 CVE-2026-94201 的情报信息

请登录查看更多情报信息。

CVE-2026-94201 其他参考 (4)

IV. Related Vulnerabilities

V. Comments for CVE-2026-94201

暂无评论


发表评论