
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-55254 is a denial-of-service (DoS) vulnerability in the factorial operator implementation of the NCalc expression evaluation library for .NET. Specially crafted expressions with extremely large factorial operands can trigger excessive CPU consumption or cause evaluation to enter a non-terminating loop due to integer overflow in the factorial calculation logic. The vulnerability affects NCalc.Core and NCalcSync NuGet packages in versions prior to 6.1.1. It was published on June 17, 2026, and has a CVSS v3.1 base score of 4.8 (Moderate) (GitHub Advisory).
The root cause is a combination of integer overflow (CWE-190) and allocation of resources without limits or throttling (CWE-770) in NCalc's factorial operator logic. When an operand such as 99999999999999!, 9223372036854775807!, or 1.5e16! is supplied, the factorial calculation overflows integer bounds, causing the evaluator to loop indefinitely or consume unbounded CPU resources. Exploitation requires that an attacker be able to supply an untrusted expression to an application that evaluates it using NCalc — no authentication or elevated privileges are required, but user interaction and adjacent network access are preconditions per the CVSS scoring. The fix, implemented in pull request #575, adds bounds validation for factorial operands and rejects unsupported values before evaluation (GitHub Advisory, Fix PR #575).
Successful exploitation results in resource exhaustion on the host running the affected application, with high availability impact and no confidentiality or integrity impact. Applications that pass untrusted user input to NCalc's expression evaluator may become unresponsive or crash, causing service disruption. There is no evidence of data exposure or lateral movement potential, as the vulnerability is limited to a DoS condition (GitHub Advisory).
99999999999999!, 9223372036854775807!, or 1.5e16!.! (factorial) operator with very large numeric operands (e.g., values near Int64.MaxValue or floating-point representations like 1.5e16).Users should upgrade NCalc.Core and NCalcSync to version 6.1.1 or later, which adds bounds validation for factorial operands and rejects unsupported values before evaluation (GitHub Advisory, Fix PR #575). If immediate upgrade is not possible, the following workarounds can reduce exposure: do not evaluate expressions from untrusted users; validate or sanitize expressions before evaluation and reject factorial operations on large values; and implement execution time limits, request timeouts, or cancellation tokens around expression evaluation calls. These workarounds do not fully address the underlying vulnerability.
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."