GHSA-c4p7-rwrg-pf6p CVE-2026-31889
Shopware vulnerable to a potential take over of app credentials
- Severity
- 8.9 / 10
- High · CVSS 3.1
- Exploit chance (EPSS)
- 0.28%
- Chance of exploitation in the next 30 days. Higher than 20.30% of scored vulnerabilities.
- Known exploited
- No
- Not in CISA's catalog
- Weakness
- CWE-290 Authentication Bypass by Spoofing
- Fix
- Available
- 2 packages have a fixed version
Description
Summary
We identified and fixed a vulnerability in the Shopware app registration flow that could, under specific conditions, allow attackers to take over the communication channel between a shop and an app. By abusing app re‑registration, an attacker could redirect app traffic to an attacker‑controlled domain and potentially obtain API credentials intended for the legitimate shop. We have no evidence that this vulnerability has been exploited.
Affected Scope
- All apps (public and private) that use a
registrationUrlin their app manifest and rely on the legacy HMAC‑based registration flow. - Both on‑premise and cloud installations are affected until updated to a fixed Shopware version or protected by the latest Shopware Security Plugin.
- Shopware services and first‑party apps using the affected SDKs were reviewed and patched. The vulnerability does not affect core storefront or administration authentication; it is limited to the app system’s registration and re‑registration mechanism.
Impact
In a successful attack, an attacker who already knows certain app‑side secrets could:
- Re‑register an existing app installation with a domain under their control.
- Intercept App → Shop communication and cause data tampering (“data poisoning”).
- Obtain API integration credentials of the shop with the permissions granted to the app. Shop owners and app manufacturers would typically observe this as “app malfunction” rather than an obvious security issue, which increases the need for hardening.
Root Cause
The legacy app registration flow used HMAC‑based authentication without sufficiently binding a shop installation to its original domain. During re‑registration, the shop-url could be updated without proving control over the previously registered shop or domain. This made targeted hijacking of app communication feasible if an attacker possessed the relevant app‑side secret.
Fix
We have hardened the app registration and re‑registration process:
- Dual signature requirement: Re‑registration now requires both the app secret and the existing shop secret to be presented and validated.
- Mandatory secret rotation: On successful re‑registration, a new shop secret is generated and verified; the previous secret is invalidated after a short grace period.
- Stricter validation: Shopware only accepts updated shop URLs and secrets once the full confirmation flow has completed successfully.
- Improved logging and monitoring: All re‑registrations are now logged with additional metadata to help detect abuse patterns. These changes are delivered via:
- Updated Shopware core releases (6.6.x, 6.7.x), and
- Updated versions of the Shopware Security Plugin for supported older versions,
- Updated official SDKs (e.g. PHP and JavaScript app SDKs).
Required Action
For Merchants / Shop Operators
- Update Shopware
- Upgrade to the latest Shopware 6.6.x / 6.7.x release that includes this fix, or
- Install/update the latest Shopware Security Plugin version providing the hotfix for your Shopware 6 installation.
- Update apps
- Ensure all installed apps are updated to the latest versions provided by their manufacturers.
- If you suspect compromised keys or observe unexpected app behaviour, re‑install the affected app or trigger key rotation as documented by the app vendor.
For App Manufacturers / Partners
- Update SDKs / implementations
- Update to the latest Shopware app SDKs (PHP / JS) or apply the documented changes if you maintain a custom implementation of the registration flow.
- Validate both
shopware-app-signatureandshopware-shop-signaturefor re‑registration requests. - Always generate and store a new shop secret on re‑registration and only switch to it after a successful confirmation.
- Review your apps
- Verify that your app does not blindly accept changed
shop-urlvalues without validating signatures. - Check any logic that exposes data or functionality based solely on HMAC signatures from shops and ensure it aligns with the hardened registration model.
- Verify that your app does not blindly accept changed
- Test your implementation
- Use the updated tooling and guidance provided in your Shopware Account / partner channels to validate that your registration flow complies with the new requirements.
Affected versions
Packagist
| Package | Vulnerable | Fixed in |
|---|---|---|
| shopware/core | >= 6.7.0.0, < 6.7.8.1 |
6.7.8.1 |
| shopware/core | < 6.6.10.15 |
6.6.10.15 |
| shopware/platform | >= 6.7.0.0, < 6.7.8.1 |
6.7.8.1 |
| shopware/platform | < 6.6.10.15 |
6.6.10.15 |
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.8.1
- composer
composer require shopware/core:^6.7.8.1
shopware/platform Packagist → 6.7.8.1
- composer
composer require shopware/platform:^6.7.8.1
Severity breakdown
CVSS 3.1 8.9
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:L
- Attack vector
- Network
- Attack complexity
- High
- Privileges required
- None
- User interaction
- None
- Scope
- Changed
- Confidentiality
- High
- Integrity
- High
- Availability
- Low
Weakness
CWE-290: Authentication Bypass by Spoofing
This attack-focused weakness is caused by incorrectly implemented authentication schemes that are subject to spoofing attacks.
References
Advisories
Packages
Other links
Timeline
- Published
- Last updated by the source
- Latest EPSS score
Related advisories
| Advisory | Severity | Why 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 |
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