Skip to content

GHSA-c2f9-4jmm-v45m CVE-2024-27917

Shopware's session is persistent in Cache for 404 pages

High Packagist
Severity
7.5 / 10
High · CVSS 3.1
Exploit chance (EPSS)
0.61%
Chance of exploitation in the next 30 days. Higher than 49.29% of scored vulnerabilities.
Known exploited
No
Not in CISA's catalog
Weakness
CWE-524 Use of Cache Containing Sensitive Information
Fix
Available
2 packages have a fixed version

Description

Impact

The Symfony Session Handler, pop's the Session Cookie and assign it to the Response. Since Shopware 6.5.8.0 the 404 pages, are cached, to improve the performance of 404 pages. So the cached Response, contains a Session Cookie when the Browser accessing the 404 page, has no cookies yet. The Symfony Session Handler is in use, when no explicit Session configuration has been done. When Redis is in use for Sessions using the PHP Redis extension, this exploiting code is not used.

Patches

Update to Shopware version 6.5.8.7

Workarounds

Using Redis for Sessions, as this does not trigger the exploit code. Example configuration for Redis

# php.ini
session.save_handler = redis
session.save_path = "tcp://127.0.0.1:6379"

Consequences

As an guest browser session has been cached on a 404 page, every missing image or directly reaching a 404 page will logout the customer or clear his cart.

Affected versions

Packagist

PackageVulnerableFixed in
shopware/platform
>= 6.5.8.0, < 6.5.8.7
6.5.8.7
shopware/storefront
>= 6.5.8.0, < 6.5.8.7
6.5.8.7

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.

shopware/platform Packagist → 6.5.8.7

composer
composer require shopware/platform:^6.5.8.7

shopware/storefront Packagist → 6.5.8.7

composer
composer require shopware/storefront:^6.5.8.7

Severity breakdown

CVSS 3.1 7.5

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N

Attack vector
Network
Attack complexity
Low
Privileges required
None
User interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
None

Weakness

CWE-524: Use of Cache Containing Sensitive Information

The code uses a cache that contains sensitive information, but the cache can be read by an actor outside of the intended control sphere.

How to prevent it
  • Architecture and Design: Protect information stored in cache.
  • Architecture and Design: Do not store unnecessarily sensitive information in the cache.
  • Architecture and Design: Consider using encryption in the cache.

References

Timeline

  1. Published
  2. Last updated by the source
  3. Latest EPSS score
AdvisorySeverityWhy it's related
GHSA-gq96-5pfx-f4vc
Shopware: SSRF in Media External-Link Endpoint Bypasses IP Validation
Medium Also affects shopware/platform
GHSA-xvhc-gm7j-mhmc
Shopware: Stored XSS via SVG file upload — no SVG sanitization
Medium Also affects shopware/platform
GHSA-9v5m-39wh-5chq
Shopware: Unauthorized Payment Trigger for Foreign Orders via /store-api/handle-payment
Medium Also affects shopware/platform
GHSA-f8q6-3g5w-jjr6
Shopware: Admin API ACL Bypass in Order State Transition Endpoints
Medium Also affects shopware/platform
GHSA-4x3x-869w-xx3m
Shopware SSO referer trust leading to an arbitrary redirect target
Medium Also affects shopware/platform
GHSA-7w52-7jvm-m9vw
Shopware: Timing-attack on admin panel allowing enumeration of administrator usernames
Low Also affects shopware/platform
GHSA-v39m-97p8-gqg7
Shopware: Privilege escalation: non-admin user with user:create ACL can create admin accounts
Medium Also affects shopware/platform
GHSA-8v9p-g828-v98f
Shopware: Admin Account Takeover via User Recovery Hash Exposure
Medium Also affects shopware/platform
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