{"id":"UBUNTU-CVE-2026-54696","details":"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 issue has been fixed in version 2.19.9.","modified":"2026-07-16T20:43:54.467714454Z","published":"2026-06-30T23:17:00Z","upstream":["CVE-2026-54696"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2026-54696"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2026-54696"},{"type":"REPORT","url":"https://github.com/ruby/json/releases/tag/v2.19.9"},{"type":"REPORT","url":"https://github.com/ruby/json/security/advisories/GHSA-x2f5-4prf-w687"}],"affected":[{"package":{"name":"jruby","ecosystem":"Ubuntu:Pro:14.04:LTS","purl":"pkg:deb/ubuntu/jruby?arch=source&distro=esm-infra-legacy%2Ftrusty"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.5.6-5ubuntu1","1.5.6-6","1.5.6-7","1.5.6-9+deb8u2build0.14.04.1~esm2"],"ecosystem_specific":{"binaries":[{"binary_version":"1.5.6-9+deb8u2build0.14.04.1~esm2","binary_name":"jruby"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-54696.json"}},{"package":{"name":"ruby-json","ecosystem":"Ubuntu:14.04:LTS","purl":"pkg:deb/ubuntu/ruby-json?arch=source&distro=trusty"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.8.0-1","1.8.0-1build1"],"ecosystem_specific":{"binaries":[{"binary_name":"ruby-json","binary_version":"1.8.0-1build1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-54696.json"}},{"package":{"name":"ruby2.3","ecosystem":"Ubuntu:Pro:16.04:LTS","purl":"pkg:deb/ubuntu/ruby2.3?arch=source&distro=esm-infra-legacy%2Fxenial"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.3.0-1","2.3.0-2","2.3.0-4ubuntu2","2.3.0-4ubuntu3","2.3.0-5ubuntu1","2.3.1-2~16.04","2.3.1-2~16.04.2","2.3.1-2~16.04.4","2.3.1-2~16.04.5","2.3.1-2~16.04.6","2.3.1-2~16.04.7","2.3.1-2~16.04.9","2.3.1-2~16.04.10","2.3.1-2~16.04.11","2.3.1-2~16.04.12","2.3.1-2~ubuntu16.04.13","2.3.1-2~ubuntu16.04.14","2.3.1-2~ubuntu16.04.15","2.3.1-2~ubuntu16.04.16","2.3.1-2~ubuntu16.04.16+esm1","2.3.1-2~ubuntu16.04.16+esm2","2.3.1-2~ubuntu16.04.16+esm3","2.3.1-2~ubuntu16.04.16+esm4","2.3.1-2~ubuntu16.04.16+esm5","2.3.1-2~ubuntu16.04.16+esm6","2.3.1-2~ubuntu16.04.16+esm7","2.3.1-2~ubuntu16.04.16+esm8","2.3.1-2~ubuntu16.04.16+esm9","2.3.1-2~ubuntu16.04.16+esm10","2.3.1-2~ubuntu16.04.16+esm11","2.3.1-2~ubuntu16.04.16+esm12","2.3.1-2~ubuntu16.04.16+esm14","2.3.1-2~ubuntu16.04.16+esm15"],"ecosystem_specific":{"binaries":[{"binary_name":"libruby2.3","binary_version":"2.3.1-2~ubuntu16.04.16+esm15"},{"binary_name":"ruby2.3","binary_version":"2.3.1-2~ubuntu16.04.16+esm15"},{"binary_version":"2.3.1-2~ubuntu16.04.16+esm15","binary_name":"ruby2.3-tcltk"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-54696.json"}},{"package":{"name":"jruby","ecosystem":"Ubuntu:16.04:LTS","purl":"pkg:deb/ubuntu/jruby?arch=source&distro=xenial"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.7.21-2ubuntu4","1.7.22-1ubuntu1"],"ecosystem_specific":{"binaries":[{"binary_name":"jruby","binary_version":"1.7.22-1ubuntu1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-54696.json"}},{"package":{"name":"ruby-json","ecosystem":"Ubuntu:16.04:LTS","purl":"pkg:deb/ubuntu/ruby-json?arch=source&distro=xenial"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.8.3-1build1","1.8.3-1build2","1.8.3-1build4"],"ecosystem_specific":{"binaries":[{"binary_version":"1.8.3-1build4","binary_name":"ruby-json"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-54696.json"}},{"package":{"name":"ruby2.5","ecosystem":"Ubuntu:Pro:18.04:LTS","purl":"pkg:deb/ubuntu/ruby2.5?arch=source&distro=esm-infra%2Fbionic"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.5.0~preview1-1ubuntu2","2.5.0-4ubuntu1","2.5.0-4ubuntu4","2.5.0-5ubuntu1","2.5.0-6ubuntu1","2.5.1-1ubuntu1","2.5.1-1ubuntu1.1","2.5.1-1ubuntu1.2","2.5.1-1ubuntu1.4","2.5.1-1ubuntu1.5","2.5.1-1ubuntu1.6","2.5.1-1ubuntu1.7","2.5.1-1ubuntu1.8","2.5.1-1ubuntu1.9","2.5.1-1ubuntu1.10","2.5.1-1ubuntu1.11","2.5.1-1ubuntu1.12","2.5.1-1ubuntu1.13","2.5.1-1ubuntu1.14","2.5.1-1ubuntu1.15","2.5.1-1ubuntu1.16","2.5.1-1ubuntu1.16+esm1","2.5.1-1ubuntu1.16+esm3","2.5.1-1ubuntu1.16+esm4","2.5.1-1ubuntu1.16+esm5","2.5.1-1ubuntu1.16+esm6","2.5.1-1ubuntu1.16+esm7","2.5.1-1ubuntu1.16+esm8"],"ecosystem_specific":{"binaries":[{"binary_version":"2.5.1-1ubuntu1.16+esm8","binary_name":"libruby2.5"},{"binary_version":"2.5.1-1ubuntu1.16+esm8","binary_name":"ruby2.5"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-54696.json"}},{"package":{"name":"jruby","ecosystem":"Ubuntu:18.04:LTS","purl":"pkg:deb/ubuntu/jruby?arch=source&distro=bionic"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["9.1.13.0-1","9.1.17.0-1~18.04"],"ecosystem_specific":{"binaries":[{"binary_name":"jruby","binary_version":"9.1.17.0-1~18.04"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-54696.json"}},{"package":{"name":"ruby-json","ecosystem":"Ubuntu:18.04:LTS","purl":"pkg:deb/ubuntu/ruby-json?arch=source&distro=bionic"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.1.0+dfsg-1","2.1.0+dfsg-1ubuntu2","2.1.0+dfsg-1ubuntu3","2.1.0+dfsg-2"],"ecosystem_specific":{"binaries":[{"binary_name":"ruby-json","binary_version":"2.1.0+dfsg-2"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-54696.json"}},{"package":{"name":"ruby2.7","ecosystem":"Ubuntu:Pro:20.04:LTS","purl":"pkg:deb/ubuntu/ruby2.7?arch=source&distro=esm-infra%2Ffocal"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.7.0-1","2.7.0-2","2.7.0-3","2.7.0-4","2.7.0-4ubuntu1","2.7.0-5ubuntu1","2.7.0-5ubuntu1.1","2.7.0-5ubuntu1.2","2.7.0-5ubuntu1.3","2.7.0-5ubuntu1.4","2.7.0-5ubuntu1.5","2.7.0-5ubuntu1.6","2.7.0-5ubuntu1.7","2.7.0-5ubuntu1.8","2.7.0-5ubuntu1.9","2.7.0-5ubuntu1.10","2.7.0-5ubuntu1.11","2.7.0-5ubuntu1.12","2.7.0-5ubuntu1.13","2.7.0-5ubuntu1.14","2.7.0-5ubuntu1.15","2.7.0-5ubuntu1.16","2.7.0-5ubuntu1.17","2.7.0-5ubuntu1.18","2.7.0-5ubuntu1.18+esm1","2.7.0-5ubuntu1.18+esm3","2.7.0-5ubuntu1.18+esm4","2.7.0-5ubuntu1.18+esm5"],"ecosystem_specific":{"binaries":[{"binary_name":"libruby2.7","binary_version":"2.7.0-5ubuntu1.18+esm5"},{"binary_name":"ruby2.7","binary_version":"2.7.0-5ubuntu1.18+esm5"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-54696.json"}},{"package":{"name":"jruby","ecosystem":"Ubuntu:20.04:LTS","purl":"pkg:deb/ubuntu/jruby?arch=source&distro=focal"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["9.1.17.0-3","9.1.17.0-3build5","9.1.17.0-3build6"],"ecosystem_specific":{"binaries":[{"binary_version":"9.1.17.0-3build6","binary_name":"jruby"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-54696.json"}},{"package":{"name":"ruby-json","ecosystem":"Ubuntu:20.04:LTS","purl":"pkg:deb/ubuntu/ruby-json?arch=source&distro=focal"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.1.0+dfsg-2","2.3.0+dfsg-1","2.3.0+dfsg-1build1"],"ecosystem_specific":{"binaries":[{"binary_name":"ruby-json","binary_version":"2.3.0+dfsg-1build1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-54696.json"}},{"package":{"name":"ruby-json","ecosystem":"Ubuntu:22.04:LTS","purl":"pkg:deb/ubuntu/ruby-json?arch=source&distro=jammy"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.3.0+dfsg-1build1","2.5.1+dfsg-2","2.5.1+dfsg-2build1"],"ecosystem_specific":{"binaries":[{"binary_version":"2.5.1+dfsg-2build1","binary_name":"ruby-json"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-54696.json"}},{"package":{"name":"ruby3.0","ecosystem":"Ubuntu:22.04:LTS","purl":"pkg:deb/ubuntu/ruby3.0?arch=source&distro=jammy"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.0.2-5ubuntu1","3.0.2-7","3.0.2-7ubuntu2","3.0.2-7ubuntu2.1","3.0.2-7ubuntu2.2","3.0.2-7ubuntu2.3","3.0.2-7ubuntu2.4","3.0.2-7ubuntu2.5","3.0.2-7ubuntu2.6","3.0.2-7ubuntu2.7","3.0.2-7ubuntu2.8","3.0.2-7ubuntu2.10","3.0.2-7ubuntu2.11","3.0.2-7ubuntu2.12","3.0.2-7ubuntu2.13"],"ecosystem_specific":{"binaries":[{"binary_name":"libruby3.0","binary_version":"3.0.2-7ubuntu2.13"},{"binary_version":"3.0.2-7ubuntu2.13","binary_name":"ruby3.0"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-54696.json"}},{"package":{"name":"jruby","ecosystem":"Ubuntu:24.04:LTS","purl":"pkg:deb/ubuntu/jruby?arch=source&distro=noble"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["9.3.9.0+ds-1","9.4.5.0+ds-1","9.4.5.0+ds-1ubuntu1","9.4.6.0+ds-1ubuntu3"],"ecosystem_specific":{"binaries":[{"binary_name":"jruby","binary_version":"9.4.6.0+ds-1ubuntu3"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-54696.json"}},{"package":{"name":"ruby-json","ecosystem":"Ubuntu:24.04:LTS","purl":"pkg:deb/ubuntu/ruby-json?arch=source&distro=noble"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.6.3+dfsg-1build2","2.6.3+dfsg-1build3","2.6.3+dfsg-1build4"],"ecosystem_specific":{"binaries":[{"binary_name":"ruby-json","binary_version":"2.6.3+dfsg-1build4"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-54696.json"}},{"package":{"name":"ruby3.2","ecosystem":"Ubuntu:24.04:LTS","purl":"pkg:deb/ubuntu/ruby3.2?arch=source&distro=noble"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.2.3-1","3.2.3-1build2","3.2.3-1build3","3.2.3-1ubuntu0.24.04.1","3.2.3-1ubuntu0.24.04.3","3.2.3-1ubuntu0.24.04.5","3.2.3-1ubuntu0.24.04.6","3.2.3-1ubuntu0.24.04.7","3.2.3-1ubuntu0.24.04.8"],"ecosystem_specific":{"binaries":[{"binary_name":"libruby3.2","binary_version":"3.2.3-1ubuntu0.24.04.8"},{"binary_name":"ruby3.2","binary_version":"3.2.3-1ubuntu0.24.04.8"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-54696.json"}},{"package":{"name":"jruby","ecosystem":"Ubuntu:25.10","purl":"pkg:deb/ubuntu/jruby?arch=source&distro=questing"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["9.4.8.0+ds-2ubuntu1","9.4.8.0+ds-3ubuntu1"],"ecosystem_specific":{"binaries":[{"binary_version":"9.4.8.0+ds-3ubuntu1","binary_name":"jruby"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-54696.json"}},{"package":{"name":"ruby-json","ecosystem":"Ubuntu:25.10","purl":"pkg:deb/ubuntu/ruby-json?arch=source&distro=questing"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.9.1+dfsg-1"],"ecosystem_specific":{"binaries":[{"binary_name":"ruby-json","binary_version":"2.9.1+dfsg-1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-54696.json"}},{"package":{"name":"ruby3.3","ecosystem":"Ubuntu:25.10","purl":"pkg:deb/ubuntu/ruby3.3?arch=source&distro=questing"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.3.7-1ubuntu2","3.3.8-2ubuntu1","3.3.8-2ubuntu2","3.3.8-2ubuntu2.1"],"ecosystem_specific":{"binaries":[{"binary_version":"3.3.8-2ubuntu2.1","binary_name":"libruby3.3"},{"binary_name":"ruby3.3","binary_version":"3.3.8-2ubuntu2.1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-54696.json"}},{"package":{"name":"jruby","ecosystem":"Ubuntu:26.04:LTS","purl":"pkg:deb/ubuntu/jruby?arch=source&distro=resolute"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["9.4.8.0+ds-3ubuntu1"],"ecosystem_specific":{"binaries":[{"binary_version":"9.4.8.0+ds-3ubuntu1","binary_name":"jruby"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-54696.json"}},{"package":{"name":"ruby-json","ecosystem":"Ubuntu:26.04:LTS","purl":"pkg:deb/ubuntu/ruby-json?arch=source&distro=resolute"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.9.1+dfsg-1","2.15.2+dfsg-1","2.18.1+dfsg-1"],"ecosystem_specific":{"binaries":[{"binary_name":"ruby-json","binary_version":"2.18.1+dfsg-1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-54696.json"}},{"package":{"name":"ruby3.3","ecosystem":"Ubuntu:26.04:LTS","purl":"pkg:deb/ubuntu/ruby3.3?arch=source&distro=resolute"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.3.8-2ubuntu2","3.3.8-2ubuntu3","3.3.8-2ubuntu3.1"],"ecosystem_specific":{"binaries":[{"binary_name":"libruby3.3","binary_version":"3.3.8-2ubuntu3.1"},{"binary_version":"3.3.8-2ubuntu3.1","binary_name":"ruby3.3"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-54696.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L"},{"type":"Ubuntu","score":"medium"}]}