Debian Package Tracker
Register | Log in
Subscribe

ruby-json

JSON library for Ruby

Choose email to subscribe with

general
  • source: ruby-json (main)
  • version: 3.0.2+dfsg-1
  • maintainer: Debian Ruby Team (archive) (DMD)
  • uploaders: Lucas Nussbaum [DMD] – Cédric Boutillier [DMD] – Lucas Kanashiro [DMD] – Utkarsh Gupta [DMD]
  • arch: any
  • std-ver: 4.7.4
  • VCS: Git (Browse, QA)
versions [more versions can be listed by madison] [old versions available from snapshot.debian.org]
[pool directory]
  • o-o-stable: 2.3.0+dfsg-1
  • oldstable: 2.6.3+dfsg-1
  • stable: 2.9.1+dfsg-1
  • testing: 2.21.2+dfsg-1
  • unstable: 3.0.2+dfsg-1
versioned links
  • 2.3.0+dfsg-1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 2.6.3+dfsg-1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 2.9.1+dfsg-1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 2.21.2+dfsg-1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 3.0.2+dfsg-1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
binaries
  • ruby-json
action needed
1 security issue in bullseye high

There is 1 open security issue in bullseye.

1 important issue:
  • CVE-2026-71847: Ruby JSON is a JSON implementation for Ruby. From 2.20.0 until 2.21.2, Ruby's JSON native C extension clears the consumed JSON::ResumableParser input buffer but leaves state.start, state.cursor, and state.end pointing into released storage. When partial_value reconstructs an incomplete object containing duplicate keys, the duplicate-key warning path calls cursor_position, which dereferences those stale pointers. This results in a heap-use-after-free and can terminate the Ruby process. An attacker who can supply JSON stream data to an application using JSON::ResumableParser may cause process termination when the application calls partial_value on incomplete attacker-controlled input containing duplicate object keys. This issue has been fixed in version 2.21.2.
Created: 2026-08-08 Last update: 2026-08-13 06:00
2 low-priority security issues in trixie low

There are 2 open security issues in trixie.

2 issues left for the package maintainer to handle:
  • CVE-2026-54696: (needs triaging) 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.
  • CVE-2026-71847: (needs triaging) Ruby JSON is a JSON implementation for Ruby. From 2.20.0 until 2.21.2, Ruby's JSON native C extension clears the consumed JSON::ResumableParser input buffer but leaves state.start, state.cursor, and state.end pointing into released storage. When partial_value reconstructs an incomplete object containing duplicate keys, the duplicate-key warning path calls cursor_position, which dereferences those stale pointers. This results in a heap-use-after-free and can terminate the Ruby process. An attacker who can supply JSON stream data to an application using JSON::ResumableParser may cause process termination when the application calls partial_value on incomplete attacker-controlled input containing duplicate object keys. This issue has been fixed in version 2.21.2.

You can find information about how to handle these issues in the security team's documentation.

Created: 2026-07-02 Last update: 2026-09-14 23:33
testing migrations
  • This package is part of the ongoing testing transition known as auto-upperlimit-ruby-json. Please avoid uploads unrelated to this transition, they would likely delay it and require supplementary work from the release managers. On the other hand, if your package has problems preventing it to migrate to testing, please fix them as soon as possible. You can probably find supplementary information in the debian-release archives or in the corresponding release.debian.org bug.
  • excuses:
    • Migration status for ruby-json (2.21.2+dfsg-1 to 3.0.2+dfsg-1): BLOCKED: Rejected/violates migration policy/introduces a regression
    • Issues preventing migration:
    • ∙ ∙ migrating ruby-json/3.0.2+dfsg-1/amd64 to testing makes ruby-coveralls/0.8.23-5/amd64 uninstallable
    • ∙ ∙ migrating ruby-json/3.0.2+dfsg-1/amd64 to testing makes ruby-train-core/3.16.5-2/amd64 uninstallable
    • ∙ ∙ migrating ruby-json/3.0.2+dfsg-1/arm64 to testing makes ruby-coveralls/0.8.23-5/arm64 uninstallable
    • ∙ ∙ migrating ruby-json/3.0.2+dfsg-1/arm64 to testing makes ruby-train-core/3.16.5-2/arm64 uninstallable
    • ∙ ∙ Autopkgtest for beanstalkd/1.13-1: amd64: Pass, arm64: Pass, armhf: Pass, i386: Test triggered, ppc64el: Pass, riscv64: Pass
    • ∙ ∙ Autopkgtest for gist/6.1.0-1: amd64: Pass, arm64: Pass, armhf: Pass, i386: Test triggered, ppc64el: Pass, riscv64: Pass
    • ∙ ∙ Autopkgtest for jekyll/4.4.1+dfsg-5: amd64: Pass, arm64: Pass, armhf: Pass, i386: Test triggered, ppc64el: Pass, riscv64: Pass
    • ∙ ∙ Autopkgtest for jgrep/1.5.4-2: amd64: Regression ♻ (reference ♻), arm64: Regression ♻ (reference ♻), armhf: Regression ♻ (reference ♻), i386: Test triggered, ppc64el: Regression ♻ (reference ♻), riscv64: Regression ♻ (reference ♻)
    • ∙ ∙ Autopkgtest for node-autoprefixer/10.4.21.0+dfsg1+~cs25.9.10-1: amd64: Pass, arm64: Pass, armhf: Pass, i386: Test triggered, ppc64el: Pass, riscv64: Pass
    • ∙ ∙ Autopkgtest for pcs/0.12.3-1: amd64: No tests, superficial or marked flaky ♻, arm64: No tests, superficial or marked flaky ♻, armhf: No tests, superficial or marked flaky ♻, i386: Test triggered, ppc64el: No tests, superficial or marked flaky ♻, riscv64: No tests, superficial or marked flaky ♻
    • ∙ ∙ Autopkgtest for rails/2:7.2.3.2+dfsg-2: amd64: Pass, arm64: Pass, armhf: Pass, i386: Test triggered, ppc64el: Pass, riscv64: Pass
    • ∙ ∙ Autopkgtest for rubocop/1.89.0+dfsg-1: amd64: Pass, arm64: Pass, armhf: Pass, i386: Test triggered, ppc64el: Pass, riscv64: Pass
    • ∙ ∙ Autopkgtest for ruby-aruba/2.4.1-2: amd64: Pass, arm64: Pass, armhf: Pass, i386: Test triggered, ppc64el: Pass, riscv64: Pass
    • ∙ ∙ Autopkgtest for ruby-asetus/0.4.0-1: amd64: Pass, arm64: Pass, armhf: Pass, i386: Test triggered, ppc64el: Pass, riscv64: Pass
    • ∙ ∙ Autopkgtest for ruby-aws-sdk/1.67.0-3: amd64: No tests, superficial or marked flaky ♻, arm64: No tests, superficial or marked flaky ♻, armhf: No tests, superficial or marked flaky ♻, i386: Test triggered, ppc64el: No tests, superficial or marked flaky ♻, riscv64: No tests, superficial or marked flaky ♻ (reference ♻)
    • ∙ ∙ Autopkgtest for ruby-beaneater/1.1.4-1: amd64: Regression ♻ (reference ♻), arm64: Regression ♻ (reference ♻), armhf: Regression ♻ (reference ♻), i386: Test triggered, ppc64el: Regression ♻ (reference ♻), riscv64: Regression ♻ (reference ♻)
    • ∙ ∙ Autopkgtest for ruby-bson/5.2.0-2: amd64: Pass, arm64: Pass, armhf: Pass, i386: Test triggered, ppc64el: Pass, riscv64: Pass
    • ∙ ∙ Autopkgtest for ruby-commonmarker/2.8.3-4: amd64: Pass, arm64: Pass, armhf: Pass, i386: Test triggered, ppc64el: Pass, riscv64: Pass
    • ∙ ∙ Autopkgtest for ruby-console/1.37.0-1: amd64: No tests, superficial or marked flaky ♻, arm64: No tests, superficial or marked flaky ♻, armhf: No tests, superficial or marked flaky ♻, i386: Test triggered, ppc64el: No tests, superficial or marked flaky ♻, riscv64: No tests, superficial or marked flaky ♻ (reference ♻)
    • ∙ ∙ Autopkgtest for ruby-diva/2.0.1-2: amd64: Pass, arm64: Pass, armhf: Pass, i386: Test triggered, ppc64el: Pass, riscv64: Pass
    • ∙ ∙ Autopkgtest for ruby-ethon/0.18.0-2: amd64: No tests, superficial or marked flaky ♻, arm64: No tests, superficial or marked flaky ♻, armhf: No tests, superficial or marked flaky ♻, i386: Test triggered, ppc64el: No tests, superficial or marked flaky ♻, riscv64: No tests, superficial or marked flaky ♻
    • ∙ ∙ Autopkgtest for ruby-execjs/2.10.2-1: amd64: Pass, arm64: Pass, armhf: Pass, i386: Test triggered, ppc64el: Pass, riscv64: Pass
    • ∙ ∙ Autopkgtest for ruby-faraday/2.14.3-1: amd64: Regression ♻ (reference ♻), arm64: Regression ♻ (reference ♻), armhf: Regression ♻ (reference ♻), i386: Test triggered, ppc64el: Regression ♻ (reference ♻), riscv64: Regression ♻ (reference ♻)
    • ∙ ∙ Autopkgtest for ruby-fog-json/1.4.0-1: amd64: Regression ♻ (reference ♻), arm64: Regression ♻ (reference ♻), armhf: Regression ♻ (reference ♻), i386: Test triggered, ppc64el: Regression ♻ (reference ♻), riscv64: Regression ♻ (reference ♻)
    • ∙ ∙ Autopkgtest for ruby-fog-libvirt/0.15.0-1: amd64: Regression ♻ (reference ♻), arm64: Regression ♻ (reference ♻), armhf: Regression ♻ (reference ♻), i386: Test triggered, ppc64el: Regression ♻ (reference ♻), riscv64: Regression ♻ (reference ♻)
    • ∙ ∙ Autopkgtest for ruby-gelf/3.1.0-3.1: amd64: Pass, arm64: Pass, armhf: Pass, i386: Test triggered, ppc64el: Pass, riscv64: Pass
    • ∙ ∙ Autopkgtest for ruby-gemojione/4.3.3-2: amd64: Pass, arm64: Pass, armhf: Pass, i386: Test triggered, ppc64el: Pass, riscv64: Pass
    • ∙ ∙ Autopkgtest for ruby-gitlab-sidekiq-fetcher/0.9.0-3: amd64: No tests, superficial or marked flaky ♻, arm64: No tests, superficial or marked flaky ♻ (reference ♻), armhf: No tests, superficial or marked flaky ♻, i386: Test triggered, ppc64el: No tests, superficial or marked flaky ♻, riscv64: No tests, superficial or marked flaky ♻ (reference ♻)
    • ∙ ∙ Autopkgtest for ruby-http-parser.rb/0.8.1-1: amd64: Pass, arm64: Pass, armhf: Pass, i386: Test triggered, ppc64el: Pass, riscv64: Pass
    • ∙ ∙ Autopkgtest for ruby-ipynbdiff/0.4.7-1: amd64: No tests, superficial or marked flaky ♻, arm64: No tests, superficial or marked flaky ♻, armhf: No tests, superficial or marked flaky ♻, i386: Test triggered, ppc64el: No tests, superficial or marked flaky ♻, riscv64: No tests, superficial or marked flaky ♻ (reference ♻)
    • ∙ ∙ Autopkgtest for ruby-journey/1.0.4-4: amd64: No tests, superficial or marked flaky ♻, arm64: No tests, superficial or marked flaky ♻, armhf: No tests, superficial or marked flaky ♻, i386: Test triggered, ppc64el: No tests, superficial or marked flaky ♻, riscv64: No tests, superficial or marked flaky ♻ (reference ♻)
    • ∙ ∙ Autopkgtest for ruby-json/3.0.2+dfsg-1: amd64: Pass, arm64: Pass, armhf: Pass, i386: Test triggered, ppc64el: Pass, riscv64: Pass
    • ∙ ∙ Autopkgtest for ruby-json-schema/6.2.0-1: amd64: Regression ♻ (reference ♻), arm64: Regression ♻ (reference ♻), armhf: Regression ♻ (reference ♻), i386: Test triggered, ppc64el: Regression ♻ (reference ♻), riscv64: Regression ♻ (reference ♻)
    • ∙ ∙ Autopkgtest for ruby-kramdown-rfc2629/1.7.40-1: amd64: No tests, superficial or marked flaky ♻, arm64: No tests, superficial or marked flaky ♻, armhf: No tests, superficial or marked flaky ♻, i386: Test triggered, ppc64el: No tests, superficial or marked flaky ♻, riscv64: No tests, superficial or marked flaky ♻ (reference ♻)
    • ∙ ∙ Autopkgtest for ruby-loofah/2.25.2-1: amd64: Pass, arm64: Pass, armhf: Pass, i386: Test triggered, ppc64el: Pass, riscv64: Pass
    • ∙ ∙ Autopkgtest for ruby-maruku/0.7.3-2: amd64: Pass, arm64: Pass, armhf: Pass, i386: Test triggered, ppc64el: Pass, riscv64: Pass
    • ∙ ∙ Autopkgtest for ruby-messagebus-api/3.0.7+git.20130130.97b34ece.REALLY.1.0.3-5: amd64: Pass, arm64: Pass, armhf: Pass, i386: Test triggered, ppc64el: Pass, riscv64: Pass
    • ∙ ∙ Autopkgtest for ruby-msgpack/1.8.4-1: amd64: Pass, arm64: Pass, armhf: Pass, i386: Test triggered, ppc64el: Pass, riscv64: Pass
    • ∙ ∙ Autopkgtest for ruby-openid-connect/2.5.0-1: amd64: Regression ♻ (reference ♻), arm64: Regression ♻ (reference ♻), armhf: Regression ♻ (reference ♻), i386: Test triggered, ppc64el: Regression ♻ (reference ♻), riscv64: Regression ♻ (reference ♻)
    • ∙ ∙ Autopkgtest for ruby-openstack/2.0.2-2: amd64: Pass, arm64: Pass, armhf: Pass, i386: Test triggered, ppc64el: Pass, riscv64: Pass
    • ∙ ∙ Autopkgtest for ruby-pagy/43.6.2-1: amd64: No tests, superficial or marked flaky ♻, arm64: No tests, superficial or marked flaky ♻, armhf: No tests, superficial or marked flaky ♻, i386: Test triggered, ppc64el: No tests, superficial or marked flaky ♻, riscv64: No tests, superficial or marked flaky ♻ (reference ♻)
    • ∙ ∙ Autopkgtest for ruby-po-to-json/3.0.6-1: amd64: Pass, arm64: Pass, armhf: Pass, i386: Test triggered, ppc64el: Pass, riscv64: Pass
    • ∙ ∙ Autopkgtest for ruby-postmark/1.25.1-1: amd64: No tests, superficial or marked flaky ♻, arm64: No tests, superficial or marked flaky ♻ (reference ♻), armhf: No tests, superficial or marked flaky ♻, i386: Test triggered, ppc64el: No tests, superficial or marked flaky ♻, riscv64: No tests, superficial or marked flaky ♻ (reference ♻)
    • ∙ ∙ Autopkgtest for ruby-process-metrics/0.14.0-1: amd64: Pass, arm64: Pass, armhf: Pass, i386: Test triggered, ppc64el: Pass, riscv64: Pass
    • ∙ ∙ Autopkgtest for ruby-rabl/0.17.0-1: amd64: Regression ♻ (reference ♻), arm64: Regression ♻ (reference ♻), armhf: Regression ♻ (reference ♻), i386: Test triggered, ppc64el: Regression ♻ (reference ♻), riscv64: Regression ♻ (reference ♻)
    • ∙ ∙ Autopkgtest for ruby-ronn/0.10.1-3: amd64: Pass, arm64: Pass, armhf: Pass, i386: Test triggered, ppc64el: Pass, riscv64: Pass
    • ∙ ∙ Autopkgtest for ruby-rspec/3.13.2c6e5m8s7-2: amd64: Pass, arm64: Pass, armhf: Pass, i386: Test triggered, ppc64el: Pass, riscv64: Pass
    • ∙ ∙ Autopkgtest for ruby-rushover/0.3.0-3: amd64: Pass, arm64: Pass, armhf: Pass, i386: Test triggered, ppc64el: Pass, riscv64: Pass
    • ∙ ∙ Autopkgtest for ruby-sdoc/2.6.5-1: amd64: Pass, arm64: Pass, armhf: Pass, i386: Test triggered, ppc64el: Pass, riscv64: Pass
    • ∙ ∙ Autopkgtest for ruby-sequel/5.108.0-1: amd64: Regression ♻ (reference ♻), arm64: Regression ♻ (reference ♻), armhf: Regression ♻ (reference ♻), i386: Test triggered, ppc64el: Regression ♻ (reference ♻), riscv64: Regression ♻ (reference ♻)
    • ∙ ∙ Autopkgtest for ruby-sidekiq/8.1.7+dfsg-1: amd64: Regression ♻ (reference ♻), arm64: Regression ♻ (reference ♻), armhf: Regression ♻ (reference ♻), i386: Test triggered, ppc64el: Regression ♻ (reference ♻), riscv64: Regression ♻ (reference ♻)
    • ∙ ∙ Autopkgtest for ruby-sinatra/4.2.1-5: amd64: Pass, arm64: Pass, armhf: Pass, i386: Test triggered, ppc64el: Pass, riscv64: Pass
    • ∙ ∙ Autopkgtest for ruby-source-map/3.0.1+git.20120229.bda06a3f-3: amd64: Pass, arm64: Pass, armhf: Pass, i386: Test triggered, ppc64el: Pass, riscv64: Pass
    • ∙ ∙ Autopkgtest for ruby-swd/2.0.3-1: amd64: Regression ♻ (reference ♻), arm64: Regression ♻ (reference ♻), armhf: Regression ♻ (reference ♻), i386: Test triggered, ppc64el: Regression ♻ (reference ♻), riscv64: Regression ♻ (reference ♻)
    • ∙ ∙ Autopkgtest for ruby-train/3.16.5-2: amd64: Test deferred, arm64: Test deferred, armhf: Regression ♻ (reference ♻), i386: Test triggered, ppc64el: Regression ♻ (reference ♻), riscv64: Regression ♻ (reference ♻)
    • ∙ ∙ Autopkgtest for ruby-typhoeus/1.6.0-1: amd64: Pass, arm64: Pass, armhf: Pass, i386: Test triggered, ppc64el: Pass, riscv64: Pass
    • ∙ ∙ Autopkgtest for shelr/0.16.3-3: amd64: Pass, arm64: Pass, armhf: Pass, i386: Test triggered, ppc64el: Pass, riscv64: Pass
    • ∙ ∙ Too young, only 1 of 5 days old
    • Additional info (not blocking):
    • ∙ ∙ Piuparts tested OK - https://piuparts.debian.org/sid/source/r/ruby-json.html
    • ∙ ∙ Reproduced on amd64 - info
    • ∙ ∙ Reproduced on arm64 - info
    • ∙ ∙ Reproduced on armhf - info
    • ∙ ∙ Reproduced on i386 - info
    • Not considered
news
[rss feed]
  • [2026-09-14] Accepted ruby-json 3.0.2+dfsg-1 (source) into unstable (Simon Quigley)
  • [2026-08-13] ruby-json 2.21.2+dfsg-1 MIGRATED to testing (Debian testing watch)
  • [2026-08-10] Accepted ruby-json 2.21.2+dfsg-1 (source) into unstable (Simon Quigley)
  • [2026-07-19] ruby-json 2.21.1+dfsg-1 MIGRATED to testing (Debian testing watch)
  • [2026-07-17] Accepted ruby-json 2.21.1+dfsg-1 (source) into unstable (Simon Quigley)
  • [2026-06-22] ruby-json 2.19.9+dfsg-1 MIGRATED to testing (Debian testing watch)
  • [2026-06-16] Accepted ruby-json 2.19.9+dfsg-1 (source) into unstable (Simon Quigley)
  • [2026-04-26] ruby-json 2.19.4+dfsg-1 MIGRATED to testing (Debian testing watch)
  • [2026-04-23] Accepted ruby-json 2.19.4+dfsg-1 (source) into unstable (Simon Quigley)
  • [2026-03-26] ruby-json 2.19.2+dfsg-1 MIGRATED to testing (Debian testing watch)
  • [2026-03-23] Accepted ruby-json 2.19.2+dfsg-1 (source) into unstable (Simon Quigley)
  • [2026-03-14] ruby-json 2.19.1+dfsg-1 MIGRATED to testing (Debian testing watch)
  • [2026-03-10] Accepted ruby-json 2.19.1+dfsg-1 (source) into unstable (Simon Quigley)
  • [2026-02-20] ruby-json 2.18.1+dfsg-1 MIGRATED to testing (Debian testing watch)
  • [2026-02-09] Accepted ruby-json 2.18.1+dfsg-1 (source) into unstable (Simon Quigley)
  • [2025-11-02] ruby-json 2.15.2+dfsg-1 MIGRATED to testing (Debian testing watch)
  • [2025-10-30] Accepted ruby-json 2.15.2+dfsg-1 (source) into unstable (Simon Quigley)
  • [2025-02-06] ruby-json 2.9.1+dfsg-1 MIGRATED to testing (Debian testing watch)
  • [2025-02-04] Accepted ruby-json 2.9.1+dfsg-1 (source) into unstable (Lucas Nussbaum)
  • [2025-02-01] ruby-json 2.7.6+dfsg-1 MIGRATED to testing (Debian testing watch)
  • [2025-01-29] Accepted ruby-json 2.7.6+dfsg-1 (source) into unstable (Lucas Nussbaum)
  • [2024-05-10] ruby-json 2.7.2+dfsg-1 MIGRATED to testing (Debian testing watch)
  • [2024-05-06] Accepted ruby-json 2.7.2+dfsg-1 (source) into unstable (Lucas Nussbaum)
  • [2022-12-29] ruby-json 2.6.3+dfsg-1 MIGRATED to testing (Debian testing watch)
  • [2022-12-29] ruby-json 2.6.3+dfsg-1 MIGRATED to testing (Debian testing watch)
  • [2022-12-26] Accepted ruby-json 2.6.3+dfsg-1 (source) into unstable (Lucas Nussbaum)
  • [2022-11-14] ruby-json 2.6.2+dfsg-1 MIGRATED to testing (Debian testing watch)
  • [2022-11-10] Accepted ruby-json 2.6.2+dfsg-1 (source) into unstable (Lucas Kanashiro)
  • [2021-11-01] ruby-json 2.5.1+dfsg-2 MIGRATED to testing (Debian testing watch)
  • [2021-10-30] Accepted ruby-json 2.5.1+dfsg-2 (source) into unstable (Sergio Durigan Junior)
  • 1
  • 2
bugs [bug history graph]
  • all: 2
  • RC: 0
  • I&N: 1
  • M&W: 1
  • F&P: 0
  • patch: 0
links
  • homepage
  • lintian
  • buildd: logs, reproducibility, cross
  • popcon
  • browse source code
  • other distros
  • security tracker
  • debian patches
  • debci
ubuntu Ubuntu logo [Information about Ubuntu for Debian Developers]
  • version: 2.21.2+dfsg-1
  • 1 bug

Debian Package Tracker — Copyright 2013-2025 The Distro Tracker Developers
Report problems to the tracker.debian.org pseudo-package in the Debian BTS.
Documentation — Bugs — Git Repository — Contributing