CVE-2016-2537 in is-my-json-validinfo

Summary

by MITRE

The is-my-json-valid package before 2.12.4 for Node.js has an incorrect exports['utc-millisec'] regular expression, which allows remote attackers to cause a denial of service (blocked event loop) via a crafted string.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Analysis

by VulDB Data Team • 10/18/2025

The CVE-2016-2537 vulnerability affects the is-my-json-valid package version 2.12.3 and earlier in Node.js environments, representing a significant security flaw that can lead to denial of service conditions. This package serves as a JSON schema validation library commonly used in web applications to validate data structures before processing, making it a critical component in many Node.js applications. The vulnerability stems from an improperly crafted regular expression within the exports['utc-millisec'] function that handles timestamp validation, creating a path for malicious input to exploit the system's event loop processing capabilities.

The technical flaw manifests through a specific regular expression pattern that fails to properly handle certain input sequences, leading to catastrophic backtracking behavior during pattern matching operations. When attackers submit carefully crafted strings that trigger this vulnerable regex, the regular expression engine enters into an exponential time complexity execution path, causing the Node.js event loop to become blocked for extended periods. This occurs because the regex engine attempts to match the input string against the pattern using backtracking mechanisms that grow exponentially with input size, effectively consuming all available CPU resources and preventing other operations from executing.

The operational impact of this vulnerability extends beyond simple denial of service, as it can be exploited in distributed denial of service attacks or to disrupt services in multi-tenant environments where shared resources are common. Attackers can leverage this weakness by sending malicious input to any application that utilizes the affected package, potentially causing cascading failures in systems that depend on this validation functionality. The vulnerability affects the core event loop processing of Node.js applications, which means that even applications with proper error handling may become unresponsive, as the event loop becomes blocked rather than simply throwing an exception. This makes the vulnerability particularly dangerous in production environments where application availability is critical.

Organizations can mitigate this vulnerability by upgrading to is-my-json-valid package version 2.12.4 or later, which contains the corrected regular expression implementation that prevents the catastrophic backtracking behavior. Security teams should also implement input validation at multiple layers of their applications, including rate limiting and input sanitization, to reduce the impact of potential exploitation attempts. Additionally, monitoring for unusual processing patterns and implementing proper timeout mechanisms can help detect and prevent prolonged blocking conditions. This vulnerability aligns with CWE-1321, which addresses regular expression denial of service, and can be categorized under ATT&CK technique T1499.004 for network denial of service, demonstrating how seemingly minor implementation flaws in validation libraries can have significant operational consequences across multiple attack vectors.

Reservation

02/21/2016

Disclosure

02/23/2016

Moderation

accepted

Entry

VDB-81076

CPE

ready

EPSS

0.01849

KEV

no

Activities

very low

Sources

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!