Description
node-csv is a full-featured CSV parser with a simple API that is tested against large datasets. Prior to 7.0.2, csv-parse with the columns and group_columns_by_name options enabled treats a duplicate __proto__ header as an existing property in packages/csv-parse/lib/api/index.js, assigns an attacker-controlled array through obj['__proto__'], and replaces the parsed record object's prototype. A malicious CSV header can therefore inject inherited array values into the returned record, hide those inherited values from JSON serialization, and affect property enumeration and type or shape checks in applications that process the record. This issue is fixed in version 7.0.2.
Published: 2026-09-03
Score: 6.9 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Prototype manipulation leading to data tampering
Action: Apply patch
AI Analysis

Impact

A malformed CSV header containing a duplicate "__proto__" entry allows the parser to set an attacker‑controlled value on the object prototype. This can inject arbitrary properties into parsed records, hide these values from JSON serialization, and alter property enumeration and type checks within consuming applications. The flaw can compromise data integrity and potentially mislead application logic that relies on record contents.

Affected Systems

Node‑csv v7.0.1 and earlier from adaltas are vulnerable when the columns or group_columns_by_name options are enabled. The issue has been resolved in node‑csv v7.0.2 and later.

Risk and Exploitability

The CVSS score of 6.9 indicates moderate risk. EPSS data is unavailable and the vulnerability is not listed in CISA KEV. The likely attack vector involves an application parsing a CSV file supplied by an attacker; if the application accepts user‑controlled CSV content (e.g., via upload or API), an attacker can exploit the prototype injection by crafting an appropriate header. Attack prerequisites include the use of the vulnerable options and the presence of a duplicate "__proto__" header. Once exploited, the attacker can tamper with record contents and affect downstream application behavior.

Generated by OpenCVE AI on September 4, 2026 at 01:22 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade node‑csv to version 7.0.2 or later, which resolves the CWE‑1321 prototype manipulation flaw.
  • If the columns or group_columns_by_name options are not required, disable them; this removes the code path that triggers the CWE‑1321 prototype injection.
  • Validate or sanitize incoming CSV headers to reject any header containing "__proto__" or other prototype‑related keys, mitigating the CWE‑1321 vulnerability.

Generated by OpenCVE AI on September 4, 2026 at 01:22 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-8cw4-87c7-c6xx node-csv: Prototype replacement still reachable via columns path
History

Fri, 04 Sep 2026 18:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 04 Sep 2026 15:45:00 +0000

Type Values Removed Values Added
First Time appeared Adaltas
Adaltas node-csv
Vendors & Products Adaltas
Adaltas node-csv

Fri, 04 Sep 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-915
References
Metrics threat_severity

None

cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L'}

threat_severity

Moderate


Thu, 03 Sep 2026 20:45:00 +0000

Type Values Removed Values Added
Description node-csv is a full-featured CSV parser with a simple API that is tested against large datasets. Prior to 7.0.2, csv-parse with the columns and group_columns_by_name options enabled treats a duplicate __proto__ header as an existing property in packages/csv-parse/lib/api/index.js, assigns an attacker-controlled array through obj['__proto__'], and replaces the parsed record object's prototype. A malicious CSV header can therefore inject inherited array values into the returned record, hide those inherited values from JSON serialization, and affect property enumeration and type or shape checks in applications that process the record. This issue is fixed in version 7.0.2.
Title node-csv: Prototype replacement still reachable via columns path
Weaknesses CWE-1321
References
Metrics cvssV4_0

{'score': 6.9, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N'}


Subscriptions

Adaltas Node-csv
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-09-04T17:44:08.340Z

Reserved: 2026-09-02T21:21:01.774Z

Link: CVE-2026-85063

cve-icon Vulnrichment

Updated: 2026-09-04T17:44:03.567Z

cve-icon NVD

Status : Deferred

Published: 2026-09-03T21:17:23.620

Modified: 2026-09-09T21:09:13.080

Link: CVE-2026-85063

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-09-03T20:32:46Z

Links: CVE-2026-85063 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-04T15:22:12Z

Weaknesses
  • CWE-1321

    Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution')

  • CWE-915

    Improperly Controlled Modification of Dynamically-Determined Object Attributes