LiveActive security incident?Get immediate response
CVE Record

CVE-2026-33210: Ruby JSON has a format string injection vulnerability

Ruby JSON is a JSON implementation for Ruby. From version 2.14.0 to before versions 2.15.2.1, 2.17.1.2, and 2.19.2, a format string injection vulnerability can lead to denial of service attacks or information disclosure, when the allow_duplicate_key: false parsing option is used to parse user supplied documents. This issue has been patched in versions 2.15.2.1, 2.17.1.2, and 2.19.2.

CriticalCVSS 9.1Not KEV-listedUpdated
Glexia's TakeAutomated analysiscritical

Security readout for executives and security teams

Plain-English summary

Ruby applications may crash or expose information when they parse attacker-controlled JSON using a specific duplicate-key setting. The flaw requires an affected Ruby JSON version and `allow_duplicate_key: false`. Because exploitation needs no authentication or user interaction and can affect confidentiality and availability, internet-facing services meeting these conditions warrant urgent review.

Executive priority

Treat as an urgent, targeted remediation rather than assuming every Ruby application is exposed. Immediately identify externally reachable services matching both prerequisites, then deploy a fixed release. Systems lacking the affected option or untrusted input path have lower immediate exposure, but dependency inventories should verify that conclusion.

Technical view

CVE-2026-33210 is a CWE-134 format string injection in Ruby JSON versions 2.14.0 through affected 2.15, 2.16–2.17, and 2.18–2.19 releases. Parsing user-supplied documents with `allow_duplicate_key: false` can cause denial of service or information disclosure. Fixed releases are 2.15.2.1, 2.17.1.2, and 2.19.2.

Likely exposure

Exposure is conditional, not universal. Prioritize Ruby services using JSON versions 2.14.0–2.15.2, 2.16.0–2.17.1.1, or 2.18.0–2.19.1 that parse untrusted JSON with `allow_duplicate_key: false`. APIs, upload processors, and other externally supplied JSON paths are the most concerning where this exact configuration exists.

Exploitation context

The supplied CVSS 3.1 score is 9.1: network-accessible, low complexity, unauthenticated, and requiring no user interaction. Potential impact is high confidentiality loss and high availability loss, with no stated integrity impact. The bundle marks KEV false and provides no evidence of active exploitation; this should not be described as exploited in the wild.

Researcher notes

The documented trigger combines a vulnerable version, the duplicate-key rejection option, and user-controlled JSON. Publicly described outcomes are denial of service and information disclosure only. The source bundle does not establish exploit availability, observed attacks, or additional affected products. Validate reachability and configuration before assigning asset-specific risk.

Mitigation direction

  • Upgrade to 2.15.2.1, 2.17.1.2, 2.19.2, or a later vendor-supported release.
  • Prioritize services parsing externally supplied JSON with `allow_duplicate_key: false`.
  • Until upgraded, prevent affected parsers from processing untrusted JSON through this option.
  • Review applicable Red Hat advisories when Ruby JSON is supplied through Red Hat packages.

Validation and detection

  • Inventory deployed and bundled Ruby JSON versions, including transitive application dependencies.
  • Search parsing code and configuration for `allow_duplicate_key: false`.
  • Trace whether those parsing paths accept network, upload, message, or other untrusted input.
  • Confirm production artifacts contain a fixed version after deployment.
  • Run defensive regression tests for duplicate-key JSON handling without using exploit payloads.
Prepared
Confidence
high
Sources
5

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

cwe · low confidence lookup

CWE-134: Exact CWE lookup

Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.

Open ATT&CK lookup
cve · low confidence lookup

CVE-2026-33210 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
Critical
CVSS
9.1 (3.1)
Known Exploited
No
Published

Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H

Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

2CVSS vectors
5Timeline events
2ADP providers
8Source links

SSVC decision data

CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: noTechnical Impact: partial

CVSS vector scores

2 official scores

We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.

ScoreVersionSeverityVectorExploitImpactSource
9.1CVSS 3.1CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H3.95.2redhat-SADP
8.3CVSS 4.0HighCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:H/SC:N/SI:N/SA:N——GitHub_M

Vulnerability scoring details

Base CVSS 4.0 score

8.3High
CVSS 4.0 vector shape for CVE-2026-33210Attack VectorAttack ComplexityAttack RequirementsPrivileges RequiredUser InteractionVS ConfidentialityVS IntegrityVS AvailabilitySS ConfidentialitySS IntegritySS Availability

Vector: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:H/SC:N/SI:N/SA:N

Attack Vector
NetworkAdjacentLocalPhysical
Attack Complexity
LowHigh
Attack Requirements
NonePresent
Privileges Required
NoneLowHigh
User Interaction
NonePassiveActive
VS Confidentiality
HighLowNone
VS Integrity
HighLowNone
VS Availability
HighLowNone
SS Confidentiality
HighLowNone
SS Integrity
HighLowNone
SS Availability
HighLowNone

Vulnerability timeline

Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.

  1. CVE reservedCVE Program

    The CVE ID was reserved by the assigning CNA.

  2. ADP timelineredhat-SADP

    Made public.

  3. CVE publishedCVE Program

    The CVE record was published.

  4. ADP timelineredhat-SADP

    Reported to Red Hat.

  5. CVE updatedCVE Program

    The CVE record metadata indicates this as the latest update time.

ADP provider summaries

CISA-ADPCISA ADP Vulnrichment
other:ssvc
redhat-SADPruby/json: Ruby JSON: Denial of Service or Information Disclosure via format string injection
other:Red Hat severity ratingcvssV3_1
  • 2026-03-21T00:01:40.435Z: Reported to Red Hat.
  • 2026-03-20T22:57:08.758Z: Made public.

Source materials

Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
rubyjson>= 2.14.0, < 2.15.2.1, >= 2.16.0, < 2.17.1.2, >= 2.18.0, < 2.19.2Listed
Weakness

CWE details

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.

CWE-134 · source CWE mapping

Use of Externally-Controlled Format String

Use of Externally-Controlled Format String represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.