Intel

AIKIDO-2026-149515

csv-parse is vulnerable to Prototype Pollution

Prototype PollutionGHSA-8cw4-87c7-c6xx Published 3 days ago

58

Medium Risk

This Affects:

JScsv-parse
0.0.1 - 7.0.1
Fixed in 7.0.2
Are you affected? Scan for Free

TL;DR

csv-parse builds record objects from CSV header names when the columns option is enabled. With group_columns_by_name also enabled, a duplicated header such as __proto__ reaches the duplicate-column branch, which assigns an array to obj['__proto__'] and invokes the prototype setter, replacing the parsed record's prototype with input-controlled data. Before the fix this let untrusted CSV header rows replace or pollute the record prototype. The fix uses Object.hasOwn for the duplicate check and Object.defineProperty for assignment so a __proto__ column becomes an ordinary own property.

Who does this affect?

You are affected if you are using a version that falls within the vulnerable range and you parse untrusted CSV input with both the columns and group_columns_by_name options enabled.

Background info

csv-parse is vulnerable to Prototype Pollution in versions 0.0.1 - 7.0.1.

How to fix this

Upgrade the csv-parse library to the patch version.