Skip to content

GHSA-hwrx-wc75-mgh7 CVE-2010-3978

Spree allows remote attackers to obtain sensitive information

Medium RubyGems
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

PackageVulnerableFixed in
spree
>= 0.11.0, < 0.11.2
0.11.2
spree
>= 0.30.0.beta1, < 0.30.0
0.30.0

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

Timeline

  1. Published
  2. Last updated by the source
  3. Latest EPSS score
AdvisorySeverityWhy 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
Is this in your code?

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