cve-2026-58041

MEDIUM CVSS 5.3 nvd
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**.

Timeline
Published
2026-08-04
Last Modified
2026-10-23
CVSS Details
Attack Vector
NETWORK
Attack Complexity
HIGH
Privileges Required
NONE
Affected Products

No product information available.

Weaknesses (CWE)
CVSS metrics
Version Base Severity Vector Exploitability Impact Source
3.0 5.3 MEDIUM CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:N 1.6 3.6 support@hackerone.com
NVD metadata
NVD status
Awaiting Analysis
Source identifier
support@hackerone.com
References
Linked Vulnerabilities

{
  "cvss": 5.3,
  "datePublished": "2026-08-04T01:16:19.987",
  "dateUpdated": "2026-10-23T23:10:00.157",
  "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\r\n\r\nThis vulnerability affects Node.js **22.x**, **24.x**, and **26.x**.",
  "id": "CVE-2026-58041",
  "raw": {
    "affected": [
      {
        "affectedData": [
          {
            "defaultStatus": "unaffected",
            "product": "node",
            "vendor": "nodejs",
            "versions": [
              {
                "lessThanOrEqual": "22.23.1",
                "status": "affected",
                "version": "22.23.1",
                "versionType": "semver"
              },
              {
                "lessThanOrEqual": "24.18.0",
                "status": "affected",
                "version": "24.18.0",
                "versionType": "semver"
              },
              {
                "lessThanOrEqual": "26.5.0",
                "status": "affected",
                "version": "26.5.0",
                "versionType": "semver"
              }
            ]
          }
        ],
        "source": "support@hackerone.com"
      }
    ],
    "cveTags": [],
    "descriptions": [
      {
        "lang": "en",
        "value": "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\r\n\r\nThis vulnerability affects Node.js **22.x**, **24.x**, and **26.x**."
      },
      {
        "lang": "es",
        "value": "Un fallo en Node.js node:sqlite permite que un StatementSyncIterator obsoleto creado a través de DatabaseSync#createTagStore() continúe ejecutando una sentencia preparada en caché después de haber sido reiniciado y reasociado con nuevos parámetros. SQLTagStore reinicia las sentencias en caché usando sqlite3_reset() directamente, omitiendo el mecanismo de invalidación del iterador introducido para StatementSync en versiones recientes.\n\nEsta vulnerabilidad afecta a Node.js 22.x, 24.x, y 26.x."
      }
    ],
    "id": "CVE-2026-58041",
    "lastModified": "2026-10-23T23:10:00.157",
    "metrics": {
      "cvssMetricV30": [
        {
          "cvssData": {
            "attackComplexity": "HIGH",
            "attackVector": "NETWORK",
            "availabilityImpact": "NONE",
            "baseScore": 5.3,
            "baseSeverity": "MEDIUM",
            "confidentialityImpact": "NONE",
            "integrityImpact": "HIGH",
            "privilegesRequired": "NONE",
            "scope": "UNCHANGED",
            "userInteraction": "REQUIRED",
            "vectorString": "CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:N",
            "version": "3.0"
          },
          "exploitabilityScore": 1.6,
          "impactScore": 3.6,
          "source": "support@hackerone.com",
          "type": "Secondary"
        }
      ],
      "ssvcV203": [
        {
          "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "ssvcData": {
            "id": "CVE-2026-58041",
            "options": [
              {
                "exploitation": "none"
              },
              {
                "automatable": "no"
              },
              {
                "technicalImpact": "partial"
              }
            ],
            "role": "CISA Coordinator",
            "timestamp": "2026-08-04T14:19:42.415078Z",
            "version": "2.0.3"
          }
        }
      ]
    },
    "published": "2026-08-04T01:16:19.987",
    "references": [
      {
        "source": "support@hackerone.com",
        "url": "https://nodejs.org/en/blog/vulnerability/july-2026-security-releases"
      }
    ],
    "sourceIdentifier": "support@hackerone.com",
    "vulnStatus": "Awaiting Analysis",
    "weaknesses": [
      {
        "description": [
          {
            "lang": "en",
            "value": "CWE-367"
          }
        ],
        "source": "support@hackerone.com",
        "type": "Secondary"
      }
    ]
  },
  "severity": "MEDIUM",
  "source": "nvd",
  "title": "A flaw in Node.js node:sqlite allows a stale StatementSyncIterator created through DatabaseSync#createTagStore() to c..."
}
View JSON API Download JSON