注目★★★★★GitHub Advisory
oj gem に負のサイズ memcpy によるヒープ破壊の脆弱性 CVE-2026-54900
30秒で把握
- 1oj gem 全バージョンに負のサイズ memcpy でヒープ破壊・プロセスクラッシュの脆弱性
- 2create_id 有効かつ JSON キーが 65,535 バイトの場合に整数切り捨てで memcpy が暴走
- 33.17.1 で存在確認済み・ext/oj/usual.c を含む全バージョンが対象
要約
Ruby の oj gem (3.17.1 以前の全バージョン) に、ヒープ破壊を引き起こす脆弱性 CVE-2026-54900 が確認された。`create_id` 有効時に JSON オブジェクトのキーが正確に 65,535 バイトの場合、`form_attr` 関数内で整数が切り捨てられ `-1` になり、`memcpy` に `SIZE_MAX` バイトが渡されてプロセスがクラッシュする。影響範囲は `ext/oj/usual.c` を含む全バージョンで、通常パースモードで `create_id` を使用している場合に限る。
あなたへの影響
oj gem を用いて外部入力の JSON をパースしている Rails アプリなどで `create_id` を有効にしているチームは、悪意あるペイロードによるサービス停止のリスクがあるため。
推奨:修正版リリースの確認と `create_id` の無効化を検討すること。