CVE-2025-68156CWE-770denial-of-service

CVE-2025-68156

High · published December 17, 2025

CVSS v3.1
7.5
EPSS
0%
Percentile
35.4
In the wild
Unconfirmed
What it is

⚡ Recursive functions gone wild! Before version 1.17.7, Expr's builtin functions could spiral into a never-ending loop, crashing your application with a stack overflow! 😱 Think of it like a hamster wheel that just keeps spinning faster and faster without a way to stop. If your data structures are too twisted or deep, it's like the hamster getting trapped in an endless cycle, leading straight to a crash instead of a happy exit! An attacker can exploit this vulnerability by injecting deeply nested or cyclic data, leading to an application crash that feels absolutely devastating! Imagine your server suddenly stopping in its tracks, leaving users stranded and affecting overall service availability – that's the risk of this denial-of-service scenario.

Put simply

Think of it like a hamster wheel that just keeps spinning faster and faster without a way to stop. If your data structures are too twisted or deep, it's like the hamster getting trapped in an endless cycle, leading straight to a crash instead of a happy exit! The vulnerability in Expr arises because several builtin functions, like `flatten` and `mean`, do not enforce maximum recursion depth, allowing an attacker to cause a stack overflow. This results in a crash rather than returning a recoverable error, especially when handling untrusted data structures.

What to do

An attacker can exploit this vulnerability by injecting deeply nested or cyclic data, leading to an application crash that feels absolutely devastating! Imagine your server suddenly stopping in its tracks, leaving users stranded and affecting overall service availability – that's the risk of this denial-of-service scenario. Upgrade to Expr version 1.17.7 immediately to implement the new maximum recursion depth limit. If you can't upgrade right away, validate and sanitize your data structures, and consider wrapping evaluations with panic recovery to mitigate crashes. Don't take this lightly! You've got this! By following these steps, you can protect your application and keep it running smoothly! 🛡️

The record
Technical detail
CVSS v3.1
7.5 · HIGH
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00422 · 35.4th percentile
Weakness
CWE-770 · Allocation of Resources Without Limits or Throttling
Published
2025-12-17T00:16Z
Affected products (1)
ProductVersionsFixed in
expr-lang/expr< 1.17.71.17.7
References (2)
EPSS history
Timeline
  • 16 DEC 18:24Z
    Expr has Denial of Service via Unbounded Recursion in Builtin Functions
    cvelistv5