{"resultsPerPage":1,"startIndex":0,"totalResults":9919,"format":"NVD_CVE","version":"2.0","timestamp":"2026-10-26T04:43:44.330","vulnerabilities":[{"cve":{"id":"CVE-2026-54500","sourceIdentifier":"security-advisories@github.com","published":"2026-07-01T00:16:32.147","lastModified":"2026-10-25T17:10:00.197","vulnStatus":"Deferred","cveTags":[],"descriptions":[{"lang":"en","value":"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 bytes or longer. The interned bytes can surface to the caller, disclosing process stack memory. In ext/oj/intern.c, form_attr() handles the long-key path by allocating a heap buffer, `b`, populating it with the attribute name, and then freeing it — but it passed the uninitialized stack buffer buf (not b) to rb_intern3(). rb_intern3 therefore reads len + 1 bytes of uninitialized stack memory. When the key length is >= 256, it also reads out of bounds past the 256-byte buf. The resulting bytes are interned and can reach the caller via the produced Symbol or via the EncodingError message raised on invalid UTF-8, leaking process stack contents. This issue has been fixed in version 3.17.3."},{"lang":"es","value":"Oj (Optimized JSON) es un analizador JSON y un serializador de objetos empaquetado como una gema de Ruby. En versiones anteriores a la 3.17.3, Oj.load en modo :object lee memoria de pila no inicializada (y, para claves largas, lee fuera de los límites) al analizar un objeto JSON cuya clave tiene 254 bytes o más. Los bytes internados pueden llegar al llamador, revelando la memoria de pila del proceso. En ext/oj/intern.c, form_attr() maneja la ruta de clave larga asignando un búfer en el heap, ’b’, rellenándolo con el nombre del atributo y luego liberándolo - pero pasó el búfer de pila no inicializado buf (no ’b’) a rb_intern3(). rb_intern3, por lo tanto, lee len + 1 bytes de memoria de pila no inicializada. Cuando la longitud de la clave es >= 256, también lee fuera de los límites más allá del búfer buf de 256 bytes. Los bytes resultantes son internados y pueden llegar al llamador a través del Símbolo producido o a través del mensaje de EncodingError generado por UTF-8 no válido, filtrando el contenido de la pila del proceso. Este problema ha sido solucionado en la versión 3.17.3."}],"affected":[{"source":"security-advisories@github.com","affectedData":[{"vendor":"ohler55","product":"oj","versions":[{"version":"< 3.17.3","status":"affected"}]}]}],"metrics":{"cvssMetricV31":[{"source":"security-advisories@github.com","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","baseScore":5.3,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"LOW","integrityImpact":"NONE","availabilityImpact":"NONE"},"exploitabilityScore":3.9,"impactScore":1.4}],"ssvcV203":[{"source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","ssvcData":{"timestamp":"2026-07-01T13:34:29.080763Z","id":"CVE-2026-54500","options":[{"exploitation":"none"},{"automatable":"yes"},{"technicalImpact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}]},"weaknesses":[{"source":"security-advisories@github.com","type":"Secondary","description":[{"lang":"en","value":"CWE-125"},{"lang":"en","value":"CWE-908"}]}],"references":[{"url":"https://github.com/ohler55/oj/security/advisories/GHSA-fm7p-mprw-wjm9","source":"security-advisories@github.com"}]}}]}