CVE-2026-97058
Received Received - Intake

sprintf-js Precision Specifier RangeError via toFixed

Vulnerability report for CVE-2026-97058, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-09-24

Last updated on: 2026-09-24

Assigner: VulnCheck

Description

sprintf-js through 1.1.3 passes unbounded precision specifiers to toFixed, toExponential, and toPrecision methods without validation, causing uncaught RangeError exceptions. Attackers who control format strings can inject precision values exceeding ECMAScript limits to abort calling operations with minimal payload.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-09-24
Last Modified
2026-09-24
Generated
2026-09-24
AI Q&A
2026-09-24
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
alexei sprintf-js to 1.1.3 (inc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-1284 The product receives input that is expected to specify a quantity (such as size or length), but it does not validate or incorrectly validates that the quantity has the required properties.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

sprintf-js through 1.1.3 is vulnerable to a Denial of Service attack due to improper handling of unbounded precision specifiers. The library passes unvalidated precision values to JavaScript's toFixed, toExponential, and toPrecision methods, causing uncaught RangeError exceptions. Attackers can inject excessively large precision values via format strings, crashing applications with minimal payload.

Detection Guidance

To detect this vulnerability, check if your system uses sprintf-js version 1.1.3 or earlier. In Node.js projects, run 'npm list sprintf-js' or inspect package.json for the version. If the library is present and outdated, the system is vulnerable. No specific network commands are needed as this is a client-side or application-level issue.

Impact Analysis

This vulnerability can cause applications using sprintf-js to crash, leading to Denial of Service. If sprintf() is called in an asynchronous context, the exception terminates the entire process. Synchronous callers can mitigate this with try/catch blocks, but unpatched applications remain at risk.

Compliance Impact

This vulnerability primarily causes denial-of-service conditions by crashing applications via uncaught exceptions, which may indirectly impact compliance by disrupting data processing or availability. However, there is no direct evidence that this vulnerability leads to data breaches or unauthorized access, which are key concerns for GDPR or HIPAA. The main risk is service disruption rather than data exposure.

Mitigation Strategies

Immediately update sprintf-js to version 1.1.4 or later. If updating is not possible, wrap sprintf() calls in try/catch blocks to handle potential RangeError exceptions. Avoid passing untrusted format strings to sprintf-js to prevent exploitation.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-97058. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart