CVE-2026-48593 PUBLISHED

Unbounded range expansion in cron describe causes memory exhaustion in oban_web

Assigner: EEF
Reserved: 22.05.2026 Published: 26.05.2026 Updated: 27.05.2026

Uncontrolled Resource Consumption vulnerability in oban-bg oban_web ('Elixir.Oban.Web.CronExpr' modules) allows memory exhaustion via unbounded cron range expansion.

An attacker with access to schedule cron jobs can submit a malicious cron expression such as "0 0 1-100000000 * *". When a user with dashboard access views the cron job list, 'Elixir.Oban.Web.CronExpr':describe/1 is called to render the expression. parse_range/1 parses both range endpoints via Integer.parse/1 with no bounds check, and the downstream helpers expand_dom_parts/1 and expand_dow_parts/1 materialise the range eagerly via Enum.to_list/1, causing allocation of ~2.4 GB and stalling or crashing the BEAM node. A sibling helper extract_dom_values already validates range bounds, but the expansion helpers do not.

This issue affects oban_web: from 2.12.0 before 2.12.5.

Metrics

CVSS Vector: CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
CVSS Score: 5.9

Product Status

Vendor oban-bg
Product oban_web
Versions Default: unaffected
  • affected from 2.12.0 to 2.12.5 (excl.)
Vendor oban-bg
Product oban_web
Versions Default: unaffected
  • affected from a97c7960bb389b05aaab4cf8042985f02ceddc24 to 9998b7e284e02fdd4645dd6231760038e63b584d (excl.)

Affected Configurations

The vulnerability is exploitable when an attacker with access to schedule cron jobs submits a malicious cron expression. The crash is triggered when a user with dashboard access views the cron job list, which calls 'Elixir.Oban.Web.CronExpr':describe/1 to render the expression.

Credits

  • Peter Ullrich finder
  • Shannon Selbert remediation developer
  • Jonatan Männchen analyst

References

Problem Types

  • CWE-400 Uncontrolled Resource Consumption CWE

Impacts

  • CAPEC-130 Excessive Allocation