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. parserange/1 parses both range endpoints via Integer.parse/1 with no bounds check, and the downstream helpers expanddomparts/1 and expanddowparts/1 materialise the range eagerly via Enum.tolist/1, causing allocation of ~2.4 GB and stalling or crashing the BEAM node. A sibling helper extractdomvalues already validates range bounds, but the expansion helpers do not.
This issue affects oban_web: from 2.12.0 before 2.12.5.
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.
{
"capec_ids": [
"CAPEC-130"
],
"cpe_ids": [
"cpe:2.3:a:oban_web_project:oban_web:*:*:*:*:*:*:*:*"
],
"cwe_ids": [
"CWE-400"
]
}