Vulnerabilities |
1 via 5 paths |
|---|---|
Dependencies |
85 |
Source |
GitHub |
Find, fix and prevent vulnerabilities in your code.
high severity
new
- 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.1Remediation: Upgrade to aemo@0.9.1.
-
Introduced through: jufemaiz/aemo@jufemaiz/aemo › rubocop@1.88.2 › json@2.21.1Remediation: Upgrade to rubocop@1.88.2.
-
Introduced through: jufemaiz/aemo@jufemaiz/aemo › aemo@0.9.1 › activesupport@8.1.3 › json@2.21.1Remediation: Upgrade to aemo@0.9.1.
-
Introduced through: jufemaiz/aemo@jufemaiz/aemo › rubocop-minitest@0.39.1 › rubocop@1.88.2 › json@2.21.1Remediation: 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.1Remediation: 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.