Skip to content
OpenAdvisories

Package · Ubuntu

ruby-oj

11 known vulnerabilities.

11 results · Feed

  • Medium 6.3

    Oj: Integer Overflow in Oj.load 2GB String Handling

    Oj (Optimized JSON) is a JSON parser and Object marshaller packaged as a Ruby gem. In versions prior to 3.17.2, Oj.load is vulnerable to heap corruption when parsing a JSON string longer than 2 GB. An integer overflow in buf_append_string (buf.h:61) converts …

  • Medium 6.3

    Oj: Use-After-Free in Oj::Parser SAJ Long Key Callback

    Oj (Optimized JSON) is a JSON parser and Object marshaller packaged as a Ruby gem. Prior to version 3.17.2, is vulnerable to Use-After-Free when in SAJ mode. The Oj::Parser does not protect cached object keys (≥ 35 bytes) from garbage collection, and a Ruby c…

  • Medium 6.3

    Oj: Use-After-Free in Oj::Parser array_class/hash_class GC Marking

    Oj (Optimized JSON) is a JSON parser and Object marshaller packaged as a Ruby gem. In versions prior to 3.17.2, Oj::Parser in usual mode does not mark array_class and hash_class references during garbage collection, leading to Use-After-Free. If GC runs after…

  • Medium 6.3
    CVE-2026-54900 Public exploit

    Oj: Negative-Size memcpy in Oj::Parser create_id Attribute Handling

    Oj (Optimized JSON) is a JSON parser and Object marshaller packaged as a Ruby gem. In versions prior to 3.17.2, when in usual mode with create_id enabled, Oj::Parser#parse is vulnerable to heap corruption via a negative-size memcpy. When a JSON object key is …

  • Low 2.1

    Oj: Use-After-Free in Oj::Parser SAJ Callback via Input Mutation

    Oj (Optimized JSON) is a JSON parser and Object marshaller packaged as a Ruby gem. In versions prior to 3.17.2,Oj::Parser#parse is vulnerable to a heap use-after-free when a SAJ/SAJ2 callback mutates the input JSON string during parsing. The C engine holds a …

  • Low 2.1

    Oj : Use-After-Free in Oj::Doc Iterators via Reentrant Close

    Oj (Optimized JSON) is a JSON parser and Object marshaller packaged as a Ruby gem. Prior to 3.17.2, Oj::Doc iterators (each_value, each_child, each_leaf) were vulnerable to a heap use-after-free. When a Ruby block yielded during iteration calls doc.close or d…

  • Low 2.1

    Oj: Heap Buffer Overflow in Oj.dump Exception Serialization via Large Indent

    Oj (Optimized JSON) is a JSON parser and Object marshaller packaged as a Ruby gem. In versions prior to 3.17.2, when in object mode, Oj.dump is vulnerable to a heap buffer overflow when serializing Exception objects with a large :indent value. The serializer …

  • High 7.5

    Oj: Stack Buffer Overflow in Oj::Doc#each_child via Deeply Nested Input

    Oj (Optimized JSON) is a JSON parser and Object marshaller packaged as a Ruby gem. In versions prior to 3.17.3, Oj::Doc#each_child, when invoked recursively over a deeply nested JSON document, overflows a fixed-size stack buffer and aborts the process, leadin…

  • Medium 6.3

    Oj: Stack Buffer Overflow in Oj.dump via Large Indent

    Oj (Optimized JSON) is a JSON parser and Object marshaller packaged as a Ruby gem. In versions prior to 3.17.2, Oj.dump is vulnerable to a stack-based buffer overflow when a large :indent value is provided by the developer. fill_indent in dump.h calls memset(…

  • Medium 5.3

    Oj: intern.c form_attr has an uninitialized stack read

    Oj (Optimized JSON) is a JSON parser and Object marshaller packaged as a Ruby gem. In versions prior to 3.17.3, Oj.load in :object mode reads uninitialized stack memory (and, for long keys, reads out of bounds) when parsing a JSON object whose key is 254 byte…

  • Medium 6.3

    Oj: Use-After-Free in Oj::Parser Symbol Key Cache Toggle

    Oj (Optimized JSON) is a JSON parser and Object marshaller packaged as a Ruby gem. Prior to version 3.17.2, disabling symbol_keys on a reused Oj::Parser instance triggers a heap use-after-free. When symbol_keys is toggled from true to false, opt_symbol_keys_s…