← Back
CVE-2026-54502

Vulnerability in oj (CVE-2026-54502)

Summary

vulnerability in oj (CVE-2026-54502). Risk of unauthorized operations or information disclosure. Exploitable via ``Oj.dump``. Mitigation: upgrade to `3.17.3` or later.

AI summary snake-internal / snake-material-v2

A vulnerability tracked as **CVE-2026-54502** has been found in oj. Attackers can target a specific entry point like ``Oj.dump`` over the network to misuse the product. Risk of unauthorized operations or information disclosure. CVSS score: ?/10. What to do: upgrade oj to **3.17.3** or later. If unsure, ask your IT team or search "oj CVE-2026-54502" on the vendor's site.
CVE-2026-54502 (oj) — CWE-121 / Attack surface: `Oj.dump` / `fill_indent` / `dump.h` / `INT_MAX` Patched: `3.17.3` — apply immediately Workaround: The develop should not use extreme indents and should not offer the option for users to dump Ruby data with unlimited indentation size. Plan: 1) Audit SBOM/dependencies, 2) Stage→prod upgrade, 3) Add WAF/proxy monitoring on affected endpoints, 4) Hunt IOCs in logs. Refs: see the GHSA / vendor advisory / patched release linked on this page.
❓ What is the problem
**A vulnerability** (CWE-121) exists in oj. Attackers reach the vulnerable code path via ``Oj.dump`` without authentication.
📍 Affected scope
oj — . Attack surface: `Oj.dump` / `fill_indent` / `dump.h` / `INT_MAX`.
🔥 Severity
Severity: ?. Risk of unauthorized operations or information disclosure
🔧 How to fix
Update to **3.17.3**.
🛡️ Workaround
Workaround: The develop should not use extreme indents and should not offer the option for users to dump Ruby data with unlimited indentation size.
🔍 Detection
Search webserver/proxy logs for unusual request patterns matching this CVE's known IOCs. Run `grep -r 'oj' .` against your dependency files (package-lock.json, requirements.txt, go.sum) to find affected services.

Response Actions (7 steps)

Concrete steps and command examples for SOC/SRE teams to execute in order

  1. 1
    Identify exposure identify
    grep -r 'oj' . | grep -v node_modules

    リポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で `oj` を grep し、稼働しているサービス・バージョンを把握する。

  2. 5
    Apply temporary workaround mitigate
    The develop should not use extreme indents and should not offer the option for users to dump Ruby data with unlimited indentation size.

    パッチが適用されるまでの応急処置として、The develop should not use extreme indents and should not offer the option for users to dump Ruby data with unlimited indentation size. を実施。回避策の副作用 (機能低下) を確認した上で。

  3. 6
    Apply patch patch
    Upgrade oj to 3.17.3

    ステージング環境で 3.17.3 に上げて回帰テスト → 本番反映。回帰テストはアプリの主要ハッピーパスと、Step 3 で見つけた異常検知の続報チェックを含めること。

  4. 7
    Post-deployment verification verify
    Confirm patched version is live in production

    パッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番では Step 3 と同じログクエリでアラート再発が無いか継続監視。

Affected packages

rubygems oj
[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.17.3"}]}]

References

🍪 About cookies

We use cookies to keep you logged in, remember your language, and improve the service.

Details →