Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

github логотип

GHSA-8cw4-87c7-c6xx

Опубликовано: 08 сент. 2026
Источник: github
Github: Прошло ревью
CVSS4: 6.9

Описание

node-csv: Prototype replacement still reachable via columns path

Impact

With columns: true and group_columns_by_name: true, a duplicated proto header causes the duplicate-column branch to assign an array to obj['proto'], invoking the proto setter and replacing the parsed record object's prototype with attacker-controlled data. Fixed in 7.0.2 (Object.hasOwn duplicate check + Object.defineProperty assignment).

Patches

The problem been patched.

Workarounds

Disable usage of both the columns and group_columns_by_name options.

References

issue #496, PR #497

Пакеты

Наименование

csv-parse

npm
Затронутые версииВерсия исправления

< 7.0.2

7.0.2

EPSS

Процентиль: 25%
0.00325
Низкий

6.9 Medium

CVSS4

Дефекты

CWE-1321

Связанные уязвимости

ubuntu
12 дней назад

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.

CVSS3: 6.5
redhat
13 дней назад

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.

nvd
13 дней назад

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.

debian
13 дней назад

node-csv is a full-featured CSV parser with a simple API that is teste ...

EPSS

Процентиль: 25%
0.00325
Низкий

6.9 Medium

CVSS4

Дефекты

CWE-1321