GHSA-3cpp-fv95-mpr5 is a low-severity (CVSS 2.7) vulnerability in shopware/platform. A fix is available for shopware/platform — see the affected versions and patch details below.
Shopware vulnerable to Server-Side Request Forgery (SSRF) – order invoice
Real-World Exposure
shopware/platform🐘shopware/platform🐘shopware/core🐘shopware/coreReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects Packagist packages — download data is not available via public APIs for these ecosystems.
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.
- 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
- Click the button ‘Create document’ and create a ‘Partial cancellation’ document.
- As a comment add the following code:
<img src="<malicious image link>" width="250" height="100"/>
- Press the preview button to view the PFD.
- Observe that the image is shown in the PDF.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 🐘Packagist | shopware/platform | ≥ 6.7.0.0&&< 6.7.3.1 | 6.7.3.1composer require shopware/platform:^6.7.3.1 |
| 🐘Packagist | shopware/platform | all versions | 6.6.10.7composer require shopware/platform:^6.6.10.7 |
| 🐘Packagist | shopware/core | ≥ 6.7.0.0&&< 6.7.3.1 | 6.7.3.1composer require shopware/core:^6.7.3.1 |
| 🐘Packagist | shopware/core | all versions | 6.6.10.7composer require shopware/core:^6.6.10.7 |
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for shopware/platform, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update shopware/platform to 6.7.3.1 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-3cpp-fv95-mpr5 is resolved across your whole dependency graph.
Workarounds
If you can't upgrade right away: gate or disable the affected feature, validate untrusted input at the boundary, and avoid passing attacker-controlled data into the vulnerable path. O3's runtime protection blocks exploitation in production as an interim safeguard until the upgrade lands.
How O3 protects you
O3 Security's impact-aware SCA analyses which vulnerable code paths your application actually calls, so a match like GHSA-3cpp-fv95-mpr5 can be triaged on real exposure rather than presence alone.
Tailored to GHSA-3cpp-fv95-mpr5. Runtime protection reduces exposure until a permanent patch is applied and verified — it complements patching, it doesn't replace it.
Frequently Asked Questions
Is GHSA-3cpp-fv95-mpr5 in your dependencies?
O3 Security finds GHSA-3cpp-fv95-mpr5 across Packagist dependencies, including transitive ones, and its impact-aware SCA ranks findings by whether your code actually calls the vulnerable path.