GHSA-hwrx-wc75-mgh7 CVE-2010-3978
Spree allows remote attackers to obtain sensitive information
- Severity
- Medium
- The publisher's own rating, not a CVSS score
- Exploit chance (EPSS)
- 2.53%
- Chance of exploitation in the next 30 days. Higher than 84.93% of scored vulnerabilities.
- Known exploited
- No
- Not in CISA's catalog
- Weakness
- CWE-200 Exposure of Sensitive Information to an Unauthorized Actor
- Fix
0.11.2- Upgrade spree to this version or later
Description
Spree 0.11.x before 0.11.2 and 0.30.x before 0.30.0 exchanges data using JavaScript Object Notation (JSON) without a mechanism for validating requests, which allows remote attackers to obtain sensitive information via vectors involving (1) admin/products.json, (2) admin/users.json, or (3) admin/overview/get_report_data, related to a "JSON hijacking" issue.
Affected versions
RubyGems
How to fix
Move to the fixed version or later with your package manager, update the lockfile, and run your tests. If the package only arrives through another dependency, upgrade that dependency first. If none of its releases pulls a fixed version yet, force the version with your package manager's override.
spree RubyGems → 0.11.2
- bundler
bundle update spree # Gemfile: gem "spree", ">= 0.11.2"
Weakness
CWE-200: Exposure of Sensitive Information to an Unauthorized Actor
The product exposes sensitive information to an actor that is not explicitly authorized to have access to that information.
How to prevent it
- Architecture and Design: Compartmentalize the system to have "safe" areas where trust boundaries can be unambiguously drawn. Do not allow sensitive data to go outside of the trust boundary and always be careful when interfacing with a compartment outside of the safe area. Ensure that appropriate compartmentalization is built into the system design, and the compartmentalization allows for and reinforces privilege separation functionality. Architects and designers should rely on the principle of least privilege to decide the appropriate time to use privileges and the time to drop privileges.
References
Advisories
Packages
Other links
- github.com/railsdog/spree/commit/19944bd999c310d9b10d16a41f48ebac97dc4fac
- github.com/railsdog/spree/commit/d881b2bb610ea33e2364ff16feb8e702dfeda135
- github.com/rubysec/ruby-advisory-db/blob/master/gems/spree/CVE-2010-3978.yml
- spreecommerce.com/blog/json-hijacking-vulnerability
- spreecommerce.com/blog/2010/11/02/json-hijacking-vulnerability
- spreecommerce.com/blog/2010/11/09/spree-0-30-0-released
- twitter.com/conviso/statuses/29555076248
- conviso.com.br/json-hijacking-vulnerability
- conviso.com.br/security-advisory-spree-e-commerce-json-v-0-11x
- securityfocus.com/archive/1/514674/100/0/threaded
Timeline
- Published
- Last updated by the source
- Latest EPSS score
Related advisories
| Advisory | Severity | Why it's related |
|---|---|---|
| GHSA-xf4v-w5x5-pv79 Spree: CSV Formula Injection in Customer Export | Medium | Also affects spree |
| GHSA-x485-rhg3-cqr4 Spree Commerce is vulnerable to RCE through Search API | Critical | Also affects spree |
| GHSA-97vm-c39p-jr86 Spree has Remote Command Execution vulnerability in search functionality | Critical | Also affects spree |
| GHSA-7h48-m3rw-vr27 Spree does not properly restrict the use of a hash to provide values for a model's attributes | Medium | Also affects spree |
| GHSA-g466-57gh-cqfw Spree uses a hardcoded hash value | Medium | Also affects spree |
| GHSA-f8cm-364f-q9qh Ensure that doorkeeper_token is valid when authenticating requests in API v2 calls | High | Also affects spree |
| GHSA-jxx8-v83v-rhw3 Spree Improper Input Validation vulnerability | Medium | Also affects spree |
| GHSA-j7qq-vr8c-xvw3 MLflow CrewAI autologging records LLM provider API keys in logged trace spans | Medium | Same weakness, CWE-200 |
MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.
Check your repos with MergeHarbor