CVE-2026-58041
Received Received - Intake

SQL Injection in Node.js SQLite Module

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

Publication date: 2026-08-04

Last updated on: 2026-08-04

Assigner: HackerOne

Description

A flaw in Node.js node:sqlite allows a stale StatementSyncIterator created through DatabaseSync#createTagStore() to continue executing a cached prepared statement after it has been reset and rebound with new parameters. SQLTagStore resets cached statements using sqlite3_reset() directly, bypassing the iterator invalidation mechanism introduced for StatementSync in recent releases This vulnerability affects Node.js **22.x**, **24.x**, and **26.x**.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

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

Affected Vendors & Products

Showing 3 associated CPEs
Vendor Product Version / Range
nodejs node 22.x
nodejs node 24.x
nodejs node 26.x

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-367 The product checks the state of a resource before using that resource, but the resource's state can change between the check and the use in a way that invalidates the results of the check.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability involves a flaw in Node.js's node:sqlite module where a stale StatementSyncIterator continues executing a cached prepared statement after it has been reset and rebound with new parameters. The issue occurs because SQLTagStore resets cached statements using sqlite3_reset() directly, which bypasses the iterator invalidation mechanism introduced for StatementSync in recent Node.js releases.

Detection Guidance

This vulnerability involves a stale StatementSyncIterator in Node.js node:sqlite that may execute cached prepared statements after they are reset. To detect it, check Node.js applications using sqlite3 versions in 22.x, 24.x, or 26.x. Review code for DatabaseSync#createTagStore() usage and ensure StatementSync iterators are properly invalidated after sqlite3_reset() calls.

Impact Analysis

This vulnerability could allow an attacker to execute unintended SQL statements by manipulating cached prepared statements. This may lead to unauthorized data access, modification, or deletion in applications using affected Node.js versions. The impact depends on the application's use of SQLite and the privileges of the database user.

Compliance Impact

This vulnerability could potentially violate compliance requirements such as GDPR or HIPAA by enabling unauthorized data access or modification. Organizations using affected Node.js versions may face increased risk of data breaches, leading to regulatory penalties, reputational damage, and loss of customer trust.

Mitigation Strategies

Update Node.js to the latest patched version for your release line (22.x, 24.x, or 26.x) to address the flaw in node:sqlite and ensure proper statement iterator invalidation.

Chat Assistant

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

EPSS Chart