Improper Validation of Unsafe Equivalence in Input Affecting cel package, versions >=0.10.0 <0.11.4


Severity

Recommended
0.0
high
0
10

CVSS assessment by Snyk's Security Team. Learn more

Threat Intelligence

Exploit Maturity
Proof of Concept
EPSS
0.06% (18th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-RUST-CEL-13535099
  • published12 Oct 2025
  • disclosed10 Oct 2025
  • creditJohn Howard

Introduced: 10 Oct 2025

NewCVE-2025-62162  (opens in a new tab)
CWE-1289  (opens in a new tab)

How to fix?

Upgrade cel to version 0.11.4 or higher.

Overview

cel is a non-Turing complete language designed for simplicity, speed, safety, and portability. CEL's C-like syntax looks nearly identical to equivalent expressions in C++, Go, Java, and TypeScript. CEL is ideal for lightweight expression evaluation when a fully sandboxed scripting language is too resource intensive.

Affected versions of this package are vulnerable to Improper Validation of Unsafe Equivalence in Input via the parser implementation. An attacker can cause the application to terminate unexpectedly by submitting specially crafted malformed expressions.

PoC

use cel::{Context, Program};

fn main() {
    let program = Program::compile("x(1,").unwrap();
    let context = Context::default();
    let value = program.execute(&context).unwrap();
    assert_eq!(value, true.into());
}

CVSS Base Scores

version 4.0
version 3.1