Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2026-78228— Unbounded handle_error recursion enables denial of service in AshOban triggers

Quick assessment

Affected
ash-project ash_oban
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

ash-project 中的 ash_oban 存在不受控递归漏洞。若用户能够导致触发器(trigger)的 动作在最后一次尝试时失败,则可耗尽工作进程(worker)的 CPU 和内存,从而导致服务不可用(拒绝服务,DoS)。 详细机制: 生成的 worker 中的 处理器 会在任务的最后一次尝试时,在 块中执行触发器的 动作。如果该动作本身抛出异常, 会再次以相同任务进行递归调用。由于任务的尝试次数仍等于 ,程序会重新进入相同的代码分支并重新执行失败的动作,且没有退出机制。 任何确定性的 失败(如数据层故障、动

CVSS 5.9 · Medium

Possible ATT&CK Techniques 1 AI

T1027 · Obfuscated Files or Information
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-78228

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Unbounded handle_error recursion enables denial of service in AshOban triggers
Source: CVE Program / CVE List V5
Vulnerability Description
Uncontrolled Recursion vulnerability in ash-project ash_oban allows a user who can drive a trigger's on_error action to fail on the final attempt to exhaust worker CPU and memory, denying service. The generated worker's atomic handle_error/4 runs the trigger's on_error action on a job's final attempt inside a rescue that, when the action itself raises, calls handle_error/4 again with the same job. The job's attempt still equals max_attempts, so it re-enters the same clause and re-runs the failing action, with no exit. Any deterministic on_error failure (a data-layer outage, a misconfigured action, or a record the action rejects) loops forever; because the recursive call is not in tail position, each iteration retains a formatted stacktrace and the process heap grows without bound while the failing statement is re-issued against the data layer until the runtime kills the worker. This issue affects ash_oban: from 0.8.0-rc.1 before 0.8.14.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Source: CVE Program / CVE List V5
Vulnerability Type
未经控制的递归
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
ash-project ash_oban 0.8.0-rc.1 ~ 0.8.14 cpe:2.3:a:ash-project:ash_oban:*:*:*:*:*:*:*:*
ash-project ash_oban 5d117ed2006df7277561c69dbfd39281da6ace9f ~ 851cd0e76ed882bf736fc48d10f96d037e26b5f0 cpe:2.3:a:ash-project:ash_oban:*:*:*:*:*:*:*:*

II. Public POCs for CVE-2026-78228

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-78228

登录查看更多情报信息。

Other References for CVE-2026-78228 (4)

Same Patch Batch · ash-project · 2026-08-30 · 11 CVEs total

CVE-2026-75847 5.9 MEDIUM Sensitive attribute values stored in a non-sensitive public changes map in AshPaperTrail
CVE-2026-77970 5.9 MEDIUM Sensitive fields nested in embedded values are not redacted in AshPaperTrail versions
CVE-2026-78038 5.9 MEDIUM Job argument injection via :args overrides primary_key and tenant in AshOban
CVE-2026-77454 5.9 MEDIUM exists/2 predicate silently dropped on limited relationships with a parent() filter in Ash
CVE-2026-77831 2.1 LOW Algorithmic-complexity denial of service in AshPaperTrail full-diff list tracking
CVE-2026-77846 2.1 LOW JSON path injection via unescaped get_path segments in AshSqlite
CVE-2026-81318 2.1 LOW Distinct-query aggregate drops the tenant schema prefix, leaking across tenants in AshSql
CVE-2026-78691 2.1 LOW Unescaped backslash allows LIKE wildcard injection in AshSql string search
CVE-2026-80227 2.1 LOW SQL string_trim removes only spaces, diverging from in-memory trimming in AshSql
CVE-2026-81316 2.1 LOW Same-named aggregates with differing filters are conflated in AshSql

IV. Related Vulnerabilities

V. Comments for CVE-2026-78228

No comments yet


Leave a comment