Description
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.
Published: 2026-10-14
Score: 2.9 Low
EPSS: < 1% Very Low
KEV: No
Impact: Heap memory corruption and crash
Action: Patch
AI Analysis

Impact

RapidCSV is a C++ CSV parser library vulnerable to an integer overflow in iterator arithmetic. The overflow occurs when size_t indexes are converted to int before being added to std::vector iterators in functions such as RemoveColumn, InsertColumn, RemoveRow, InsertRow, and GetColumnNames. On 64‑bit systems, indexes larger than INT_MAX can wrap into negative offsets, causing the iterator to point before the start of the underlying vector. This results in undefined behavior that may manifest as heap memory corruption, crashes, or other unpredictable program behavior. The weakness is an improper conversion leading to integer overflow and an out‑of‑bounds access, corresponding to CWE-190 and CWE-787.

Affected Systems

The flaw affects the rapidcsv library distributed by developer d99kris, in all released versions prior to 8.99. Any application embedding an affected RapidCSV binary that processes a CSV matrix containing more than 2^31 elements is potentially vulnerable. The problem is limited to the library’s RemoveColumn, InsertColumn, RemoveRow, InsertRow, and GetColumnNames functions.

Risk and Exploitability

The CVSS score of 2.9 indicates a low severity, and the EPSS score of less than 1% indicates a very low exploitation probability, consistent with the low CVSS severity. Because the vulnerability requires creating an in‑memory CSV matrix with tens of gigabytes to trigger the overflow, success conditions demand significant memory and a large malformed input. This reduces practical exploitability in typical deployment environments. No exploit has been observed, and the vulnerability is not listed in the CISA KEV catalog.

Generated by OpenCVE AI on October 15, 2026 at 18:57 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade rapidcsv to version 8.99 or later, which removes the integer conversion flaw.
  • If upgrading is not immediately possible, validate or reject input CSV files that would result in vector sizes exceeding 2^31 elements to prevent the overflow from occurring.
  • Review and enforce proper bounds checks around index conversions in any custom wrappers around RapidCSV functions, ensuring that size_t values are never cast to signed integers without verification.

Generated by OpenCVE AI on October 15, 2026 at 18:57 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 27 Oct 2026 04:30:00 +0000

Type Values Removed Values Added
First Time appeared D99kris
D99kris rapidcsv
Vendors & Products D99kris
D99kris rapidcsv

Thu, 15 Oct 2026 20:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 14 Oct 2026 16:00:00 +0000

Type Values Removed Values Added
Description 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.
Title rapidcsv: Integer overflow in iterator arithmetic causes out-of-bounds access
Weaknesses CWE-190
CWE-787
References
Metrics cvssV3_1

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


Subscriptions

D99kris Rapidcsv
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-15T19:08:15.368Z

Reserved: 2026-05-28T03:42:34.340Z

Link: CVE-2026-49206

cve-icon Vulnrichment

Updated: 2026-10-15T19:08:08.891Z

cve-icon NVD

Status : Deferred

Published: 2026-10-14T16:17:45.667

Modified: 2026-10-16T20:04:29.760

Link: CVE-2026-49206

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-26T22:37:57Z

Weaknesses