Medium
sprintf-js through 1.1.3 Denial of Service via Unbounded Precision
Type: advisorySources: OSV
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.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-97058
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 19:25 UTC · Revision 1
Source evidence
sprintf-js through 1.1.3 Denial of Service via Unbounded Precision
core-osv · Original sourcePublished 24 Sept 2026, 13:51 UTC
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.
osv:CVE-2026-97058
Complete source record
{
"id": "383bfdd8576aea79cb6d091401e140e6e4f4bfc7586988e18a01dd69556bed57",
"url": "https://osv.dev/vulnerability/CVE-2026-97058",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "sprintf-js through 1.1.3 Denial of Service via Unbounded Precision",
"summary": "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.",
"evidence": "osv:CVE-2026-97058",
"products": [],
"severity": "medium",
"structured": {
"id": "CVE-2026-97058",
"aliases": [
"CVE-2026-97058"
],
"metrics": [
{
"type": "CVSS_V4",
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/alexei/sprintf.js",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "3a0d8c26d291b5bd9f1974877ecc50739921d6f5"
}
],
"database_specific": {
"source": [
"AFFECTED_FIELD",
"DESCRIPTION"
],
"extracted_events": [
{
"introduced": "0"
},
{
"last_affected": "1.1.3"
},
{
"fixed": "1.1.3"
}
]
}
}
],
"versions": [
"1.1.2",
"1.1.1",
"1.1.0",
"1.0.3",
"1.0.2",
"1.0.1",
"1.0.0",
"v0.7",
"v0.6",
"v0.5",
"v0.4",
"v0.3",
"v0.2"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-97058.json"
}
}
],
"modified": "2026-10-22T19:41:07.887004544Z",
"provider": "osv",
"references": [
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/97xxx/CVE-2026-97058.json",
"https://nvd.nist.gov/vuln/detail/CVE-2026-97058",
"https://www.vulncheck.com/advisories/sprintf-js-through-1.1.3-denial-of-service-via-unbounded-precision",
"https://github.com/alexei/sprintf.js/issues/237",
"https://github.com/alexei/sprintf.js/issues/237#issuecomment-6025091396",
"https://github.com/alexei/sprintf.js",
"https://github.com/alexei/sprintf.js/blob/3a0d8c26d291b5bd9f1974877ecc50739921d6f5/src/sprintf.js#L17",
"https://github.com/alexei/sprintf.js/blob/3a0d8c26d291b5bd9f1974877ecc50739921d6f5/src/sprintf.js#L84-L90"
],
"provider_metadata": {
"cwe_ids": [
"CWE-1284"
],
"cna_assigner": "VulnCheck",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/97xxx/CVE-2026-97058.json"
}
},
"related_cves": [
{
"value": "CVE-2026-97058",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 409951,
"published_at": "2026-09-24T13:51:58.989+00:00"
}