GHSA-8cw4-87c7-c6xx: Npm/csv-parse vulnerability

Published Sep 8, 2026
·
Updated

Impact With columns: true and groupcolumnsbyname: 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 groupcolumnsbyname options.

References issue #496, PR #497

Affected Software

1 affected componentFixes available
npm/csv-parse<7.0.2
7.0.2

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade npm/csv-parse to a version that resolves this vulnerability.

    Fixed in 7.0.2
  2. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 7.0.2
  3. Configuration

    Disable usage of the `columns` option (set `columns: false`).

    Object columns parsing options columns = false
  4. Configuration

    Disable usage of the `group_columns_by_name` option (set `group_columns_by_name: false`).

    Object columns parsing options group_columns_by_name = false

Event History

Sep 8, 2026
Advisory Published
via GitHub·06:01 PM
Data Sourced
via GitHub·06:01 PM
DescriptionWeaknessAffected Software

Frequently Asked Questions

1

Which deployments are exposed to this issue?

Deployments using csv-parse with both the columns and group_columns_by_name options enabled are exposed when parsing CSV input containing a duplicated __proto__ header.

2

What must an attacker control to exploit the issue?

An attacker needs to supply CSV data with a duplicated __proto__ header. Under the affected option combination, the duplicate-column handling can replace the parsed record object's prototype with attacker-controlled data.

3

Is there a configuration workaround if updating is not immediately possible?

Yes. Disable use of both the columns and group_columns_by_name options.

4

Which version contains the fix?

The issue is fixed in version 7.0.2. The fix uses an Object.hasOwn duplicate check and Object.defineProperty assignment.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203