---
id: CVE-2026-49206
title: rapidcsv is a C++ CSV parser library
summary: >-
  rapidcsv is a C++ CSV parser library. Prior to 8.99, RemoveColumn,
  InsertColumn, RemoveRow, InsertRow, and GetColumnNames converted size_t
  indexes to int before adding them to std::vector iterators. On 64-bit systems,
  in a CSV matrix dim…
severity: low
cvss: 2.9
cvssVector: 'CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L'
cwe:
  - CWE-190
  - CWE-787
published: '2026-10-14'
updated: '2026-10-14'
sourceUpdated: '2026-10-14T16:17:45.667'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-49206'
references:
  - url: >-
      https://github.com/d99kris/rapidcsv/commit/68f57cc6c83d5e0992904398822453489d8dfac1
    label: security-advisories@github.com
  - url: 'https://github.com/d99kris/rapidcsv/issues/220'
    label: security-advisories@github.com
  - url: 'https://github.com/d99kris/rapidcsv/releases/tag/v8.99'
    label: security-advisories@github.com
  - url: >-
      https://github.com/d99kris/rapidcsv/security/advisories/GHSA-v83v-8j5q-6553
    label: security-advisories@github.com
tags:
  - nvd
ingestedAt: '2026-10-14T16:40:32.125Z'
---

## Overview

rapidcsv is a C++ CSV parser library. Prior to 8.99, RemoveColumn, InsertColumn, RemoveRow, InsertRow, and GetColumnNames converted size_t indexes to int before adding them to std::vector iterators. On 64-bit systems, in a CSV matrix dimension containing more than 2^31 elements, an index above INT_MAX could wrap to a negative iterator offset and point before the start of the vector, causing undefined behavior, heap memory corruption, or a crash. Triggering the issue requires an extremely large in-memory document, requiring tens of gigabytes of memory at minimum, so typical CSV documents are not practically affected. This issue is fixed in version 8.99.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
