Vulnerabilities

1 via 5 paths

Dependencies

85

Source

GitHub

Find, fix and prevent vulnerabilities in your code.

Severity
  • 1
Status
  • 1
  • 0
  • 0

high severity
new

Use After Free

  • Vulnerable module: json
  • Introduced through: aemo@0.9.1, rubocop@1.88.2 and others

Detailed paths

  • Introduced through: jufemaiz/aemo@jufemaiz/aemo aemo@0.9.1 json@2.21.1
    Remediation: Upgrade to aemo@0.9.1.
  • Introduced through: jufemaiz/aemo@jufemaiz/aemo rubocop@1.88.2 json@2.21.1
    Remediation: Upgrade to rubocop@1.88.2.
  • Introduced through: jufemaiz/aemo@jufemaiz/aemo aemo@0.9.1 activesupport@8.1.3 json@2.21.1
    Remediation: Upgrade to aemo@0.9.1.
  • Introduced through: jufemaiz/aemo@jufemaiz/aemo rubocop-minitest@0.39.1 rubocop@1.88.2 json@2.21.1
    Remediation: Upgrade to rubocop-minitest@0.39.1.
  • Introduced through: jufemaiz/aemo@jufemaiz/aemo rubocop-rspec@3.10.2 rubocop@1.88.2 json@2.21.1
    Remediation: Upgrade to rubocop-rspec@3.10.2.

Overview

json is a JSON implementation as a Ruby extension in C.

Affected versions of this package are vulnerable to Use After Free through JSON::ResumableParser#partial_value in ext/json/ext/parser/parser.c. An attacker can crash the Ruby process by supplying truncated streaming JSON with duplicate object keys and causing the application to call partial_value on the incomplete parse. The vulnerable warning path computes a cursor position for resumable-parser deprecation messages after the parser has already cleared and released its input buffer, leaving stale pointers in state.start, state.cursor, and state.end. When that duplicate-key path runs, it dereferences freed memory and terminates the process.

Remediation

Upgrade json to version 2.21.2 or higher.

References