RubySec

Providing security resources for the Ruby community

CVE-2026-54696 (json): JSON generator heap buffer overflow when streaming to an IO

JSON generator heap buffer overflow when streaming to an IO

Published: June 30, 2026

SECURITY IDENTIFIERS

GEM

json

SEVERITY

CVSS v3.x: 3.7 (Low)

UNAFFECTED VERSIONS

< 2.9.0

PATCHED VERSIONS

>= 2.19.9

DESCRIPTION

Ruby JSON is a JSON implementation for Ruby. Versions 2.9.0 through 2.19.8 are vulnerable to heap buffer overflow when the JSON generator is provided with an oversized streamed object.

When streaming to an IO JSON.dump(obj, io) and JSON::State#generate(obj, io) can write past the internal JSON generator buffer when a streamed object contains an attacker-controlled string near 16 KB. Exploitation would result in a reliable process crash/denial of service.

This was triaged on HackerOne as report #3785370. The issue was confirmed there and I was asked to open it here.

This issue has been fixed in version 2.19.9.

RELATED