Skip to content

GHSA-3cpp-fv95-mpr5

Shopware vulnerable to Server-Side Request Forgery (SSRF) – order invoice

Low Packagist
Severity
2.7 / 10
Low · CVSS 3.1
Exploit chance (EPSS)
—
No score published
Known exploited
No
Not in CISA's catalog
Weakness
CWE-918 Server-Side Request Forgery (SSRF)
Fix
Available
2 packages have a fixed version

Description

Impact

This vulnerability allows malicious actors to force the application server to send HTTP requests to both external and internal servers. In certain cases, this may lead to access to internal resources such as databases, file systems, or other services that are not supposed to be directly accessible from the internet.

The overall impact of this vulnerability is considered limited, as the functionality is highly restricted and only processes IMG tags.

Description

Server-Side Request Forgery (SSRF) is a vulnerability that enables a malicious actor to manipulate an application server into performing HTTP requests to arbitrary domains. SSRF is commonly exploited to make the server initiate requests to its internal systems or other services within the same network, which are typically not exposed to external users. In some cases, SSRF can also be used to target external systems. A successful SSRF attack can result in unauthorized actions or access to data within the organization, the web application itself, or other backend systems the application communicates with. In worst-case scenario, a SSRF vulnerability can be exploited to execute malicious code on the server.

Applicability

The PDF generator used to create order invoices contains a Server-Side Request Forgery (SSRF) vulnerability. Administrative users can generate invoices for completed orders and have the option to add a note to the invoice. This input is currently not adequately filtered for (malicious) HTML characters. When a malicious actor submits an IMG tag as input, the PDF generator attempts to retrieve an external image while processing the IMG tag. As a result, the application server can be used to perform an HTTP request, enabling the malicious actors to reach both external and internal servers. To exploit this vulnerability, an admin account is required.

Reproduction

To reproduce this vulnerability, the steps below can be followed.

  1. Log in as an admin and navigate to the following URL: https://<your-site>.shopware.store/admin#/sw/order/detail/0198e0afa2cb70ceb76ad64fc7864ca6/documents?limit=25&page=1&term=&sortBy&sortDirection=ASC&naturalSorting=false
  2. Click the button ‘Create document’ and create a ‘Partial cancellation’ document.
  3. As a comment add the following code:
<img src="<malicious image link>" width="250" height="100"/>
  1. Press the preview button to view the PFD.
  2. Observe that the image is shown in the PDF.

Affected versions

Packagist

PackageVulnerableFixed in
shopware/core
>= 6.7.0.0, < 6.7.3.1
6.7.3.1
shopware/core
< 6.6.10.7
6.6.10.7
shopware/platform
>= 6.7.0.0, < 6.7.3.1
6.7.3.1
shopware/platform
< 6.6.10.7
6.6.10.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/core Packagist → 6.7.3.1

composer
composer require shopware/core:^6.7.3.1

shopware/platform Packagist → 6.7.3.1

composer
composer require shopware/platform:^6.7.3.1

Severity breakdown

CVSS 3.1 2.7

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

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

Weakness

CWE-918: Server-Side Request Forgery (SSRF)

The web server receives a URL or similar request from an upstream component and retrieves the contents of this URL, but it does not sufficiently ensure that the request is being sent to the expected destination.

References

Timeline

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