| Affected_by_vulnerabilities |
| 0 |
| url |
VCID-5bhg-9kzp-tqcb |
| vulnerability_id |
VCID-5bhg-9kzp-tqcb |
| summary |
Shopware vulnerable to Improper Access Control with ManyToMany associations in store-api
### Impact
The store-API works with regular entities and not expose all fields for the public API; fields need to be marked as ApiAware in the EntityDefinition. So only ApiAware fields of the EntityDefinition will be encoded to the final JSON.
The processing of the Criteria did not considered ManyToMany associations and so they were not considered properly and the protections didn't get used.
This issue cannot be reproduced with the default entities by Shopware, but can be triggered with extensions.
### Patches
Update to Shopware 6.6.5.1 or 6.5.8.13.
### Workarounds
For older versions of 6.2, 6.3, and 6.4, corresponding security measures are also available via a plugin. For the full range of functions, we recommend updating to the latest Shopware version. |
| references |
| 0 |
|
| 1 |
|
| 2 |
|
| 3 |
| reference_url |
https://github.com/shopware/shopware |
| reference_id |
|
| reference_type |
|
| scores |
| 0 |
| value |
5.3 |
| scoring_system |
cvssv3.1 |
| scoring_elements |
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N |
|
| 1 |
| value |
5.9 |
| scoring_system |
cvssv4 |
| scoring_elements |
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N |
|
| 2 |
| value |
MODERATE |
| scoring_system |
generic_textual |
| scoring_elements |
|
|
|
| url |
https://github.com/shopware/shopware |
|
| 4 |
|
| 5 |
|
| 6 |
|
| 7 |
|
| 8 |
|
|
| fixed_packages |
| 0 |
| url |
pkg:composer/shopware/core@6.6.5.1 |
| purl |
pkg:composer/shopware/core@6.6.5.1 |
| is_vulnerable |
true |
| affected_by_vulnerabilities |
| 0 |
| vulnerability |
VCID-5dfn-7npr-37g3 |
|
| 1 |
| vulnerability |
VCID-99by-8tqv-jqe8 |
|
| 2 |
| vulnerability |
VCID-dfs7-2bqx-8ba2 |
|
| 3 |
| vulnerability |
VCID-fs47-nvtj-zyde |
|
| 4 |
| vulnerability |
VCID-kxu8-e4qa-5yh4 |
|
| 5 |
| vulnerability |
VCID-kzxk-m2ev-fkgp |
|
| 6 |
| vulnerability |
VCID-m29q-kuh9-4bf4 |
|
| 7 |
| vulnerability |
VCID-rd9z-yvvm-1uh6 |
|
| 8 |
| vulnerability |
VCID-rmn1-w9g8-vfbq |
|
| 9 |
| vulnerability |
VCID-v4b9-xr4t-p7a6 |
|
| 10 |
| vulnerability |
VCID-vdye-zfdm-pkgd |
|
| 11 |
| vulnerability |
VCID-vt1b-mh5z-sfch |
|
| 12 |
| vulnerability |
VCID-yns7-fzmq-e7gx |
|
| 13 |
| vulnerability |
VCID-zqr8-anrb-2ud5 |
|
|
| resource_url |
http://public2.vulnerablecode.io/packages/pkg:composer/shopware/core@6.6.5.1 |
|
| 1 |
|
|
| aliases |
CVE-2024-42354, GHSA-hhcq-ph6w-494g
|
| risk_score |
null |
| exploitability |
null |
| weighted_severity |
null |
| resource_url |
http://public2.vulnerablecode.io/vulnerabilities/VCID-5bhg-9kzp-tqcb |
|
| 1 |
| url |
VCID-5dfn-7npr-37g3 |
| vulnerability_id |
VCID-5dfn-7npr-37g3 |
| summary |
Shopware Broken ACL on Document retrieval to access other customers documents
### Impact
It's possible to guess the deepLinkCode of an Document to open documents of other customers
### Patches
Update to Shopware 6.6.10.3 or 6.5.8.17
### Workarounds
For older versions of 6.4, corresponding security measures are also available via a plugin. For the full range of functions, we recommend updating to the latest Shopware version. |
| references |
|
| fixed_packages |
|
| aliases |
GHSA-68wv-g3fw-pq7q
|
| risk_score |
null |
| exploitability |
null |
| weighted_severity |
null |
| resource_url |
http://public2.vulnerablecode.io/vulnerabilities/VCID-5dfn-7npr-37g3 |
|
| 2 |
| url |
VCID-99by-8tqv-jqe8 |
| vulnerability_id |
VCID-99by-8tqv-jqe8 |
| summary |
Shopware vulnerable to a potential take over of app credentials
### 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 `registrationUrl` in 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
1. **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.
2. **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
1. **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-signature` and `shopware-shop-signature` for re‑registration requests.
- Always generate and store a new shop secret on re‑registration and only switch to it after a successful confirmation.
2. **Review your apps**
- Verify that your app does not blindly accept changed `shop-url` values 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.
3. **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. |
| references |
|
| fixed_packages |
|
| aliases |
CVE-2026-31889, GHSA-c4p7-rwrg-pf6p
|
| risk_score |
null |
| exploitability |
null |
| weighted_severity |
null |
| resource_url |
http://public2.vulnerablecode.io/vulnerabilities/VCID-99by-8tqv-jqe8 |
|
| 3 |
| url |
VCID-dfs7-2bqx-8ba2 |
| vulnerability_id |
VCID-dfs7-2bqx-8ba2 |
| summary |
Shopware vulnerable to MediaVisibilityRestrictionSubscriber bypass when reading media entities by aggregating fields individually
In Shopware core and platform versions before 6.6.10.7 and 6.7.3.1, media visibility restrictions applied by MediaVisibilityRestrictionSubscriber are not enforced for aggregation API requests. Authorization filters are only injected during standard entity reads; aggregation queries can be constructed to bypass these checks and enumerate private media records such as invoices or other restricted documents. A low‑privilege backend user (e.g., product editor) can chain normal business flows (creating or viewing orders) with aggregation queries to disclose sensitive customer data including addresses and payment-related information contained within associated private media. The issue is resolved in 6.6.10.7 and 6.7.3.1. |
| references |
|
| fixed_packages |
|
| aliases |
GHSA-m895-2hj3-8cg9
|
| risk_score |
null |
| exploitability |
null |
| weighted_severity |
null |
| resource_url |
http://public2.vulnerablecode.io/vulnerabilities/VCID-dfs7-2bqx-8ba2 |
|
| 4 |
| url |
VCID-fs47-nvtj-zyde |
| vulnerability_id |
VCID-fs47-nvtj-zyde |
| summary |
Shopware allows Denial Of Service via password length
### Impact
It's possible to pass long passwords that leads to Denial Of Service via forms in Storefront forms or Store-API.
### Patches
Update to Shopware 6.6.10.3 or 6.5.8.17
### Workarounds
For older versions of 6.4, corresponding security measures are also available via a plugin. For the full range of functions, we recommend updating to the latest Shopware version. |
| references |
|
| fixed_packages |
|
| aliases |
CVE-2025-30151, GHSA-cgfj-hj93-rmh2
|
| risk_score |
null |
| exploitability |
null |
| weighted_severity |
null |
| resource_url |
http://public2.vulnerablecode.io/vulnerabilities/VCID-fs47-nvtj-zyde |
|
| 5 |
| url |
VCID-kxu8-e4qa-5yh4 |
| vulnerability_id |
VCID-kxu8-e4qa-5yh4 |
| summary |
Shopware Vulnerable to Blind SQL-injection in DAL aggregations
### Impact
The Shopware application API contains a search functionality which enables users to search through information stored within their Shopware instance. The searches performed by this function can be aggregated using the parameters in the “aggregations”
object. The ‘name’ field in this “aggregations” **in nested** object is vulnerable SQL-injection and can be exploited using SQL parameters.
### Patches
Update to Shopware 6.6.10.3
### Workarounds
For older versions of 6.5 or 6.4 corresponding security measures are also available via a plugin. For the full range of functions, we recommend updating to the latest Shopware version.
### Credit
[Redteam Pentesting](https://www.redteam-pentesting.de/) |
| references |
|
| fixed_packages |
|
| aliases |
CVE-2025-27892, GHSA-8g35-7rmw-7f59
|
| risk_score |
null |
| exploitability |
null |
| weighted_severity |
null |
| resource_url |
http://public2.vulnerablecode.io/vulnerabilities/VCID-kxu8-e4qa-5yh4 |
|
| 6 |
| url |
VCID-kzxk-m2ev-fkgp |
| vulnerability_id |
VCID-kzxk-m2ev-fkgp |
| summary |
Shopware has user enumeration via distinct error codes on Store API login endpoint
## Summary
The Store API login endpoint (`POST /store-api/account/login`) returns different error codes depending on whether the submitted email address belongs to a registered customer (`CHECKOUT__CUSTOMER_AUTH_BAD_CREDENTIALS`) or is unknown (`CHECKOUT__CUSTOMER_NOT_FOUND`). The "not found" response also echoes the probed email address. This allows an unauthenticated attacker to enumerate valid customer accounts. The storefront login controller correctly unifies both error paths, but the Store API does not — indicating an inconsistent defense.
## CWE
- **CWE-204**: Observable Response Discrepancy
## Description
### Distinct error codes leak account existence
The login flow in `AccountService::getCustomerByLogin()` calls `getCustomerByEmail()` first, which throws `CustomerNotFoundException` if the email is not found. If the email IS found but the password is wrong, a separate `BadCredentialsException` is thrown:
```php
// src/Core/Checkout/Customer/SalesChannel/AccountService.php:116-145
public function getCustomerByLogin(string $email, string $password, SalesChannelContext $context): CustomerEntity
{
if ($this->isPasswordTooLong($password)) {
throw CustomerException::badCredentials();
}
$customer = $this->getCustomerByEmail($email, $context);
// ↑ Throws CustomerNotFoundException with CHECKOUT__CUSTOMER_NOT_FOUND if email unknown
if ($customer->hasLegacyPassword()) {
if (!$this->legacyPasswordVerifier->verify($password, $customer)) {
throw CustomerException::badCredentials();
// ↑ Throws BadCredentialsException with CHECKOUT__CUSTOMER_AUTH_BAD_CREDENTIALS
}
// ...
}
if ($customer->getPassword() === null
|| !password_verify($password, $customer->getPassword())) {
throw CustomerException::badCredentials();
// ↑ Same: CHECKOUT__CUSTOMER_AUTH_BAD_CREDENTIALS
}
// ...
}
```
The two exception types produce clearly distinguishable API responses:
**Email not registered:**
```json
{
"errors": [{
"status": "401",
"code": "CHECKOUT__CUSTOMER_NOT_FOUND",
"detail": "No matching customer for the email \"probe@example.com\" was found.",
"meta": { "parameters": { "email": "probe@example.com" } }
}]
}
```
**Email registered, wrong password:**
```json
{
"errors": [{
"status": "401",
"code": "CHECKOUT__CUSTOMER_AUTH_BAD_CREDENTIALS",
"detail": "Invalid username and/or password."
}]
}
```
### Storefront is protected — Store API is not
The storefront login controller demonstrates that Shopware's developers are aware of this risk class. `AuthController::login()` catches both exceptions together and returns a generic error:
```php
// src/Storefront/Controller/AuthController.php:203
} catch (BadCredentialsException|CustomerNotFoundException) {
// Unified handling — no distinction exposed to the user
}
```
The Store API `LoginRoute::login()` does NOT catch these exceptions. They propagate to the global `ErrorResponseFactory`, which serializes the distinct error codes into the JSON response:
```php
// src/Core/Checkout/Customer/SalesChannel/LoginRoute.php:54-58
$token = $this->accountService->loginByCredentials(
$email,
(string) $data->get('password'),
$context
);
// No try/catch — exceptions propagate with distinct codes
```
This inconsistency confirms the Store API exposure is an oversight, not a design decision.
### Rate limiting is present but insufficient for enumeration
The login route has rate limiting (LoginRoute.php:47-51) keyed on `strtolower($email) . '-' . $clientIp`. This slows bulk enumeration but does not prevent it because:
1. The attacker only needs **one request per email** to determine existence
2. The rate limit key includes the IP, so rotating IPs resets the counter
3. The rate limiter is designed to prevent brute-force password guessing, not single-probe enumeration
## Impact
- **Customer email enumeration**: An attacker can confirm whether specific email addresses are registered as customers, enabling targeted attacks
- **Phishing enablement**: Confirmed customer emails can be targeted with store-specific phishing campaigns (e.g., fake order confirmations, password reset lures)
- **Credential stuffing optimization**: Attackers with breached credential databases can first filter for valid emails before attempting password guesses, improving efficiency against rate limits
- **Privacy violation**: Confirms an individual's association with a specific store, which may be sensitive depending on the store's nature (e.g., medical supplies, adult products)
- **Email reflection**: The `CHECKOUT__CUSTOMER_NOT_FOUND` response echoes the probed email in the `detail` and `meta.parameters.email` fields, which could be leveraged in reflected content attacks
## Recommended Remediation
### Option 1: Catch both exceptions in LoginRoute and throw a unified error (Preferred)
Apply the same pattern already used in the storefront controller:
```php
// src/Core/Checkout/Customer/SalesChannel/LoginRoute.php
public function login(#[\SensitiveParameter] RequestDataBag $data, SalesChannelContext $context): ContextTokenResponse
{
EmailIdnConverter::encodeDataBag($data);
$email = (string) $data->get('email', $data->get('username'));
if ($this->requestStack->getMainRequest() !== null) {
$cacheKey = strtolower($email) . '-' . $this->requestStack->getMainRequest()->getClientIp();
try {
$this->rateLimiter->ensureAccepted(RateLimiter::LOGIN_ROUTE, $cacheKey);
} catch (RateLimitExceededException $exception) {
throw CustomerException::customerAuthThrottledException($exception->getWaitTime(), $exception);
}
}
try {
$token = $this->accountService->loginByCredentials(
$email,
(string) $data->get('password'),
$context
);
} catch (CustomerNotFoundException) {
// Normalize to the same exception as bad credentials
throw CustomerException::badCredentials();
}
if (isset($cacheKey)) {
$this->rateLimiter->reset(RateLimiter::LOGIN_ROUTE, $cacheKey);
}
return new ContextTokenResponse($token);
}
```
This ensures both "not found" and "bad credentials" return the same `CHECKOUT__CUSTOMER_AUTH_BAD_CREDENTIALS` code and generic message.
### Option 2: Unify at the AccountService layer
For defense in depth, change `AccountService::getCustomerByLogin()` to throw `BadCredentialsException` instead of letting `CustomerNotFoundException` propagate:
```php
// src/Core/Checkout/Customer/SalesChannel/AccountService.php
public function getCustomerByLogin(string $email, string $password, SalesChannelContext $context): CustomerEntity
{
if ($this->isPasswordTooLong($password)) {
throw CustomerException::badCredentials();
}
try {
$customer = $this->getCustomerByEmail($email, $context);
} catch (CustomerNotFoundException) {
throw CustomerException::badCredentials();
}
// ... rest of password verification
}
```
This protects all callers of `getCustomerByLogin()` regardless of how they handle exceptions. Note: `getCustomerByEmail()` is also called independently (e.g., password recovery), so that method should continue to throw `CustomerNotFoundException` for internal use — the normalization should happen at the login boundary.
### Additional: Fix registration endpoint
The registration endpoint (`POST /store-api/account/register`) also leaks email existence via `CUSTOMER_EMAIL_NOT_UNIQUE`. For complete remediation, consider returning a generic success response and sending a notification email to the existing address instead.
## Credit
This vulnerability was discovered and reported by [bugbunny.ai](https://bugbunny.ai). |
| references |
|
| fixed_packages |
|
| aliases |
CVE-2026-31888, GHSA-gqc5-xv7m-gcjq
|
| risk_score |
null |
| exploitability |
null |
| weighted_severity |
null |
| resource_url |
http://public2.vulnerablecode.io/vulnerabilities/VCID-kzxk-m2ev-fkgp |
|
| 7 |
| url |
VCID-m29q-kuh9-4bf4 |
| vulnerability_id |
VCID-m29q-kuh9-4bf4 |
| summary |
Shopware default newsletter opt-in settings allow for mass sign-up abuse
### Impact
Currently the default settings for double-opt-in allow for mass unsolicited newsletter sign-ups without confirmation.
Default settings are:
Newsletter: Double Opt-in - active
Newsletter: Double opt-in for registered customers - disabled
Log-in & sign-up: Double opt-in on sign-up - disabled
With these settings, anyone can register an account on the shop using any e-mail-address and then check the check-box in the account page to sign up for the newsletter. The recipient will receive two mails confirming registering and signing up for the newsletter, no confirmation link needed to be clicked for either. In the backend the recipient is set to “instantly active”.
### Patches
Update to Shopware 6.6.10.3 or 6.5.8.17
### Workarounds
For older versions of 6.4, corresponding security measures are also available via a plugin. For the full range of functions, we recommend updating to the latest Shopware version. |
| references |
| 0 |
|
| 1 |
| reference_url |
https://github.com/shopware/shopware |
| reference_id |
|
| reference_type |
|
| scores |
| 0 |
| value |
5.3 |
| scoring_system |
cvssv3.1 |
| scoring_elements |
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N |
|
| 1 |
| value |
2.7 |
| scoring_system |
cvssv4 |
| scoring_elements |
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:N/SI:L/SA:N/E:U |
|
| 2 |
| value |
LOW |
| scoring_system |
generic_textual |
| scoring_elements |
|
|
|
| url |
https://github.com/shopware/shopware |
|
| 2 |
|
| 3 |
|
| 4 |
|
|
| fixed_packages |
|
| aliases |
CVE-2025-32378, GHSA-4h9w-7vfp-px8m
|
| risk_score |
null |
| exploitability |
null |
| weighted_severity |
null |
| resource_url |
http://public2.vulnerablecode.io/vulnerabilities/VCID-m29q-kuh9-4bf4 |
|
| 8 |
| url |
VCID-n658-3sj8-eyc3 |
| vulnerability_id |
VCID-n658-3sj8-eyc3 |
| summary |
Shopware Improper Session Handling in store-api account logout
### Impact
When a authentificated request is made to `POST /store-api/account/logout`, the cart will be cleared, but the User won't be logged out. This affects only the direct store-api usage, as the PHP Storefront listens additionally on `CustomerLogoutEvent` and invalidates the session additionally.
### Patches
The problem has been fixed with Shopware 6.6.1.0 and 6.5.8.8.
### Workarounds
When you are not able to update, you can install the latest version of the Shopware Security Plugin. |
| references |
|
| fixed_packages |
|
| aliases |
CVE-2024-31447, GHSA-5297-wrrp-rcj7
|
| risk_score |
null |
| exploitability |
null |
| weighted_severity |
null |
| resource_url |
http://public2.vulnerablecode.io/vulnerabilities/VCID-n658-3sj8-eyc3 |
|
| 9 |
| url |
VCID-ntax-pny9-bqcj |
| vulnerability_id |
VCID-ntax-pny9-bqcj |
| summary |
Shopware vulnerable to blind SQL-injection in DAL aggregations
### Impact
The Shopware application API contains a search functionality which enables users to search through information stored within their Shopware instance. The searches performed by this function can be aggregated using the parameters in the “aggregations”
object. The ‘name’ field in this “aggregations” object is vulnerable SQL-injection and can be exploited using SQL parameters.
### Patches
Update to Shopware 6.6.5.1 or 6.5.8.13
### Workarounds
For older versions of 6.1, 6.2, 6.3 and 6.4 corresponding security measures are also available via a plugin. For the full range of functions, we recommend updating to the latest Shopware version.
### Credit
[LogicalTrust](https://logicaltrust.net) |
| references |
| 0 |
|
| 1 |
|
| 2 |
|
| 3 |
| reference_url |
https://github.com/shopware/shopware |
| reference_id |
|
| reference_type |
|
| scores |
| 0 |
| value |
7.3 |
| scoring_system |
cvssv3.1 |
| scoring_elements |
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L |
|
| 1 |
| value |
6.9 |
| scoring_system |
cvssv4 |
| scoring_elements |
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N |
|
| 2 |
| value |
MODERATE |
| scoring_system |
generic_textual |
| scoring_elements |
|
|
|
| url |
https://github.com/shopware/shopware |
|
| 4 |
|
| 5 |
|
| 6 |
|
| 7 |
|
| 8 |
|
|
| fixed_packages |
| 0 |
| url |
pkg:composer/shopware/core@6.6.5.1 |
| purl |
pkg:composer/shopware/core@6.6.5.1 |
| is_vulnerable |
true |
| affected_by_vulnerabilities |
| 0 |
| vulnerability |
VCID-5dfn-7npr-37g3 |
|
| 1 |
| vulnerability |
VCID-99by-8tqv-jqe8 |
|
| 2 |
| vulnerability |
VCID-dfs7-2bqx-8ba2 |
|
| 3 |
| vulnerability |
VCID-fs47-nvtj-zyde |
|
| 4 |
| vulnerability |
VCID-kxu8-e4qa-5yh4 |
|
| 5 |
| vulnerability |
VCID-kzxk-m2ev-fkgp |
|
| 6 |
| vulnerability |
VCID-m29q-kuh9-4bf4 |
|
| 7 |
| vulnerability |
VCID-rd9z-yvvm-1uh6 |
|
| 8 |
| vulnerability |
VCID-rmn1-w9g8-vfbq |
|
| 9 |
| vulnerability |
VCID-v4b9-xr4t-p7a6 |
|
| 10 |
| vulnerability |
VCID-vdye-zfdm-pkgd |
|
| 11 |
| vulnerability |
VCID-vt1b-mh5z-sfch |
|
| 12 |
| vulnerability |
VCID-yns7-fzmq-e7gx |
|
| 13 |
| vulnerability |
VCID-zqr8-anrb-2ud5 |
|
|
| resource_url |
http://public2.vulnerablecode.io/packages/pkg:composer/shopware/core@6.6.5.1 |
|
| 1 |
|
|
| aliases |
CVE-2024-42357, GHSA-p6w9-r443-r752
|
| risk_score |
null |
| exploitability |
null |
| weighted_severity |
null |
| resource_url |
http://public2.vulnerablecode.io/vulnerabilities/VCID-ntax-pny9-bqcj |
|
| 10 |
| url |
VCID-pkb5-e1bu-2ye4 |
| vulnerability_id |
VCID-pkb5-e1bu-2ye4 |
| summary |
Shopware vulnerable to Server Side Template Injection in Twig using deprecation silence tag
### Impact
Shopware has a new Twig Tag `sw_silent_feature_call` which silences deprecation messages while triggered in this tag.
It accepts as parameter a string the feature flag name to silence, but this parameter is not escaped properly and allows execution of code.
### Patches
Update to Shopware 6.6.5.1 or 6.5.8.13
### Workarounds
For older versions of 6.2, 6.3, and 6.4, corresponding security measures are also available via a plugin. For the full range of functions, we recommend updating to the latest Shopware version. |
| references |
| 0 |
|
| 1 |
|
| 2 |
|
| 3 |
| reference_url |
https://github.com/shopware/shopware |
| reference_id |
|
| reference_type |
|
| scores |
| 0 |
| value |
8.3 |
| scoring_system |
cvssv3.1 |
| scoring_elements |
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:L |
|
| 1 |
| value |
8.7 |
| scoring_system |
cvssv4 |
| scoring_elements |
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N |
|
| 2 |
| value |
HIGH |
| scoring_system |
generic_textual |
| scoring_elements |
|
|
|
| url |
https://github.com/shopware/shopware |
|
| 4 |
|
| 5 |
|
| 6 |
|
| 7 |
|
| 8 |
|
|
| fixed_packages |
| 0 |
| url |
pkg:composer/shopware/core@6.6.5.1 |
| purl |
pkg:composer/shopware/core@6.6.5.1 |
| is_vulnerable |
true |
| affected_by_vulnerabilities |
| 0 |
| vulnerability |
VCID-5dfn-7npr-37g3 |
|
| 1 |
| vulnerability |
VCID-99by-8tqv-jqe8 |
|
| 2 |
| vulnerability |
VCID-dfs7-2bqx-8ba2 |
|
| 3 |
| vulnerability |
VCID-fs47-nvtj-zyde |
|
| 4 |
| vulnerability |
VCID-kxu8-e4qa-5yh4 |
|
| 5 |
| vulnerability |
VCID-kzxk-m2ev-fkgp |
|
| 6 |
| vulnerability |
VCID-m29q-kuh9-4bf4 |
|
| 7 |
| vulnerability |
VCID-rd9z-yvvm-1uh6 |
|
| 8 |
| vulnerability |
VCID-rmn1-w9g8-vfbq |
|
| 9 |
| vulnerability |
VCID-v4b9-xr4t-p7a6 |
|
| 10 |
| vulnerability |
VCID-vdye-zfdm-pkgd |
|
| 11 |
| vulnerability |
VCID-vt1b-mh5z-sfch |
|
| 12 |
| vulnerability |
VCID-yns7-fzmq-e7gx |
|
| 13 |
| vulnerability |
VCID-zqr8-anrb-2ud5 |
|
|
| resource_url |
http://public2.vulnerablecode.io/packages/pkg:composer/shopware/core@6.6.5.1 |
|
| 1 |
|
|
| aliases |
CVE-2024-42355, GHSA-27wp-jvhw-v4xp
|
| risk_score |
null |
| exploitability |
null |
| weighted_severity |
null |
| resource_url |
http://public2.vulnerablecode.io/vulnerabilities/VCID-pkb5-e1bu-2ye4 |
|
| 11 |
| url |
VCID-q1tz-feg4-sfa1 |
| vulnerability_id |
VCID-q1tz-feg4-sfa1 |
| summary |
Shopware vulnerable to Server Side Template Injection in Twig using Context functions
### Impact
The `context` variable is injected into almost any Twig Template and allows to access to current language, currency information. The context object allows also to switch for a short time the scope of the Context as a helper with a callable function.
Example call from PHP:
```php
$context->scope(Context::SYSTEM_SCOPE, static function (Context $context) use ($mediaService, $media, &$fileBlob): void {
$fileBlob = $mediaService->loadFile($media->getId(), $context);
});
```
This function can be called also from Twig and as the second parameter allows any callable, it's possible to call from Twig any statically callable PHP function/method.
It's not possible as customer to provide any Twig code, the attacker would require access to Administration to exploit it using Mail templates or using App Scripts.
### Patches
Update to Shopware 6.6.5.1 or 6.5.8.13
### Workarounds
For older versions of 6.1, 6.2, 6.3 and 6.4 corresponding security measures are also available via a plugin. For the full range of functions, we recommend updating to the latest Shopware version. |
| references |
| 0 |
|
| 1 |
|
| 2 |
|
| 3 |
| reference_url |
https://github.com/shopware/shopware |
| reference_id |
|
| reference_type |
|
| scores |
| 0 |
| value |
8.3 |
| scoring_system |
cvssv3.1 |
| scoring_elements |
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:L |
|
| 1 |
| value |
8.7 |
| scoring_system |
cvssv4 |
| scoring_elements |
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N |
|
| 2 |
| value |
HIGH |
| scoring_system |
generic_textual |
| scoring_elements |
|
|
|
| url |
https://github.com/shopware/shopware |
|
| 4 |
|
| 5 |
|
| 6 |
|
| 7 |
|
| 8 |
|
|
| fixed_packages |
| 0 |
| url |
pkg:composer/shopware/core@6.6.5.1 |
| purl |
pkg:composer/shopware/core@6.6.5.1 |
| is_vulnerable |
true |
| affected_by_vulnerabilities |
| 0 |
| vulnerability |
VCID-5dfn-7npr-37g3 |
|
| 1 |
| vulnerability |
VCID-99by-8tqv-jqe8 |
|
| 2 |
| vulnerability |
VCID-dfs7-2bqx-8ba2 |
|
| 3 |
| vulnerability |
VCID-fs47-nvtj-zyde |
|
| 4 |
| vulnerability |
VCID-kxu8-e4qa-5yh4 |
|
| 5 |
| vulnerability |
VCID-kzxk-m2ev-fkgp |
|
| 6 |
| vulnerability |
VCID-m29q-kuh9-4bf4 |
|
| 7 |
| vulnerability |
VCID-rd9z-yvvm-1uh6 |
|
| 8 |
| vulnerability |
VCID-rmn1-w9g8-vfbq |
|
| 9 |
| vulnerability |
VCID-v4b9-xr4t-p7a6 |
|
| 10 |
| vulnerability |
VCID-vdye-zfdm-pkgd |
|
| 11 |
| vulnerability |
VCID-vt1b-mh5z-sfch |
|
| 12 |
| vulnerability |
VCID-yns7-fzmq-e7gx |
|
| 13 |
| vulnerability |
VCID-zqr8-anrb-2ud5 |
|
|
| resource_url |
http://public2.vulnerablecode.io/packages/pkg:composer/shopware/core@6.6.5.1 |
|
| 1 |
|
|
| aliases |
CVE-2024-42356, GHSA-35jp-8cgg-p4wj
|
| risk_score |
null |
| exploitability |
null |
| weighted_severity |
null |
| resource_url |
http://public2.vulnerablecode.io/vulnerabilities/VCID-q1tz-feg4-sfa1 |
|
| 12 |
| url |
VCID-rd9z-yvvm-1uh6 |
| vulnerability_id |
VCID-rd9z-yvvm-1uh6 |
| summary |
Shopware: Unauthenticated data extraction possible through store-api.order endpoint
### Summary
An insufficient check on the filter types for unauthenticated customers allows access to orders of other customers. This is part of the `deepLinkCode` support on the `store-api.order` endpoint.
### Details
#### Data Exposure
Depending on the order payload configuration, attackers may retrieve:
- Customer names
- Billing address
- Shipping address
- Email addresses
- Ordered products
- Order values
- Order numbers
- Order dates
- Payment method information
- Shipping method information
- More customs, depending on the given associations in the request
#### Security Impact
This vulnerability allows:
- Unauthorized access to foreign customer order data
- Mass enumeration of recent orders
- Potential scraping of customer personal information
#### Limitation
No limitation, but only orders from the past 30 days are checked for changeable means of payment (unrelated).
### Impact
The code is present since ~2021. Likely every version since then is impacted for every store. |
| references |
|
| fixed_packages |
|
| aliases |
CVE-2026-31887, GHSA-7vvp-j573-5584
|
| risk_score |
null |
| exploitability |
null |
| weighted_severity |
null |
| resource_url |
http://public2.vulnerablecode.io/vulnerabilities/VCID-rd9z-yvvm-1uh6 |
|
| 13 |
| url |
VCID-rmn1-w9g8-vfbq |
| vulnerability_id |
VCID-rmn1-w9g8-vfbq |
| summary |
Shopware exposes sensitive user information via CSV export mapping
### Impact
Malicious actors can exploit this finding to export sensitive customer information from a Shopware application, including password hashes and password reset tokens. In SaaS deployments, this primarily affects customer accounts. In on-premise deployments, however, it also includes the hashes and recovery tokens of administrator-level accounts, which increases
the potential impact.
This risk is noteworthy because users may reuse the same or similar passwords across different services. In such cases, exposed hashes could allow attackers to recover credentials that might also be valid outside of Shopware.
#### Description
Sensitive information disclosure occurs when an application inadvertently displays sensitive information to its users. Depending on the context, websites can leak all kinds of information including:
• Data regarding other users, such as usernames and/or e-mail addresses
• Sensitive commercial data such as customer names
• Technical details about the website and/or the underlying infrastructure
Disclosing technical details, such as detailed version information, allows malicious actors to look for targeted vulnerabilities and/or misconfigurations in the application or in the underlying infrastructure. In addition, an application is more likely to be targeted by attacks that specifically target a particular version of the software used.
#### Applicability
The Shopware application exposes sensitive information to users within the export section.
The Shopware application allows admins to import and export data within the application. To do this import/export profiles can be created. These profiles tell the application which tables within the database map to which columns in the generated file. During testing it was noticed that sensitive information such as password hashes or reset codes can also be included within the export. This can be done by creating a custom mapping that includes these fields within the export.
To exploit this vulnerability, an account with permissions to create import/export profiles and to create exports, is required.
#### Reproduction
To reproduce this vulnerability, the steps below can be followed.
1. Log in to Shopware application with an admin account capable of creating import/export profiles and creating exports
2. Create a new import/export profile
3. Add a new mapping for the ‘password’ database entry
4. Create an export using the new profile
5. Notice that the password hashes of the users are available within the export file. |
| references |
|
| fixed_packages |
|
| aliases |
GHSA-27c9-vp3w-6ww8
|
| risk_score |
null |
| exploitability |
null |
| weighted_severity |
null |
| resource_url |
http://public2.vulnerablecode.io/vulnerabilities/VCID-rmn1-w9g8-vfbq |
|
| 14 |
| url |
VCID-v4b9-xr4t-p7a6 |
| vulnerability_id |
VCID-v4b9-xr4t-p7a6 |
| summary |
Shopware vulnerable to path traversal via Plugin upload
### Impact
Malicious actors can exploit this vulnerability to write files within arbitrary directories on the filesystem of the Shopware web container. This could allow them to gain persistent shell access by uploading a PHP-shell file to an accessible folder.
It is important to note that this vulnerability is only present on on-premises installation of Shopware and not present on the SaaS installation due to additional security checks being implemented on the uploaded plugin files.
#### Description
A path traversal vulnerability allows malicious actors to access files and folders that are outside the folder structure accessible to the affected function. This vulnerability occurs when an application uses unfiltered user input to point to the path of a specific file and retrieve it. This can result in gaining read/write access to sensitive information, application code, back-end systems and other (critical) files on the operating system. In certain cases, it is even possible to store arbitrary files outside the relevant directory structure on the server in order to gain access to the server.
#### Applicability
The Plugin upload function in use by the Shopware application is vulnerable to path traversal.
Within the on-premises version of the Shopware application users are able to extend the functionality of the application by installing ‘plugins’ also referred to as ‘apps’ or ‘extensions’. These plugins can be installed using the official store or by uploading a zip file containing the required files. To prevent path traversal the Shopware application implements a check that effectively prohibits files containing ‘..’ characters from being uploaded. During review of the source code, it was noticed that the check for the prohibited characters was only performed from the third entry (index 2) of the uploaded Zip file. This means that the second entry (index 1) within the Zip file can contain path traversal characters and thus allows files to be written in
directories outside of the intended plugins folder.
To exploit this vulnerability, an admin account with permissions to upload plugins, is required.
#### Reproduction
To reproduce this vulnerability, the steps below can be followed.
1. Log in to an on-premises Shopware application with an admin account with permissions to
upload plugins.
2. Create a malicious Zip file using the script provided in evidence 5.
3. Upload the generated malicious Zip file as a new plugin within the application
4. Access the filesystem of the Shopware application
5. Navigate to the path below:
/var/www/html/custom/apps
6. Notice that an ‘evil.php’ file has been extracted within this folder. |
| references |
|
| fixed_packages |
|
| aliases |
GHSA-6wh5-mw9h-5c3w
|
| risk_score |
null |
| exploitability |
null |
| weighted_severity |
null |
| resource_url |
http://public2.vulnerablecode.io/vulnerabilities/VCID-v4b9-xr4t-p7a6 |
|
| 15 |
| url |
VCID-vdye-zfdm-pkgd |
| vulnerability_id |
VCID-vdye-zfdm-pkgd |
| summary |
Shopware Customer Orders can be canceled, even if refunds are disabled
Refunds in general can be enabled through the administration setting `core.cart.enableOrderRefunds` (in the cart panel).Which visually shows and hides the button. However, using a custom crafted request, a customer can still cancel his own orders.As this is not checked inside the route (and also not in the controller):
https://github.com/shopware/shopware/blob/trunk/src/Storefront/Controller/AccountOrderController.php#L98
https://github.com/shopware/shopware/blob/trunk/src/Core/Checkout/Order/SalesChannel/CancelOrderRoute.php
To mitigate this, a check should be added to the `CancelOrderRoute` which verifies that the feature is enabled. |
| references |
|
| fixed_packages |
|
| aliases |
GHSA-r2vg-hvjm-fg38
|
| risk_score |
null |
| exploitability |
null |
| weighted_severity |
null |
| resource_url |
http://public2.vulnerablecode.io/vulnerabilities/VCID-vdye-zfdm-pkgd |
|
| 16 |
| url |
VCID-vt1b-mh5z-sfch |
| vulnerability_id |
VCID-vt1b-mh5z-sfch |
| summary |
Shopware vulnerable to Server-Side Request Forgery (SSRF) – order invoice
### 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"/>
```
4. Press the preview button to view the PFD.
5. Observe that the image is shown in the PDF. |
| references |
|
| fixed_packages |
|
| aliases |
GHSA-3cpp-fv95-mpr5
|
| risk_score |
null |
| exploitability |
null |
| weighted_severity |
null |
| resource_url |
http://public2.vulnerablecode.io/vulnerabilities/VCID-vt1b-mh5z-sfch |
|
| 17 |
| url |
VCID-yns7-fzmq-e7gx |
| vulnerability_id |
VCID-yns7-fzmq-e7gx |
| summary |
Shopware 6 allows attackers to check for registered accounts through the store-api
### Impact
Through the store-api it is possible as a attacker to check if a specific e-mail address has an account in the shop.
Using the store-api endpoint `/store-api/account/recovery-password` you get the response
```
{"errors":[{"status":"404","code":"CHECKOUT__CUSTOMER_NOT_FOUND","title":"Not Found","detail":"No matching customer for the email \u0022asdasfd@asdads.de\u0022 was found.","meta":{"parameters":{"email":"asdasfd@asdads.de"}}}]}
```
which indicates clearly that there is no account for this customer. In contrast you get a success response if the account was found.
### Patches
Update to Shopware 6.6.10.3
### Workarounds
For older versions of 6.5 or 6.4, corresponding security measures are also available via a plugin. For the full range of functions, we recommend updating to the latest Shopware version. |
| references |
| 0 |
|
| 1 |
| reference_url |
https://github.com/shopware/shopware |
| reference_id |
|
| reference_type |
|
| scores |
| 0 |
| value |
5.3 |
| scoring_system |
cvssv3.1 |
| scoring_elements |
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N |
|
| 1 |
| value |
5.5 |
| scoring_system |
cvssv4 |
| scoring_elements |
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:P/U:Green |
|
| 2 |
| value |
MODERATE |
| scoring_system |
generic_textual |
| scoring_elements |
|
|
|
| url |
https://github.com/shopware/shopware |
|
| 2 |
|
| 3 |
|
| 4 |
|
| 5 |
|
| 6 |
|
| 7 |
|
|
| fixed_packages |
|
| aliases |
CVE-2025-30150, GHSA-hh7j-6x3q-f52h
|
| risk_score |
null |
| exploitability |
null |
| weighted_severity |
null |
| resource_url |
http://public2.vulnerablecode.io/vulnerabilities/VCID-yns7-fzmq-e7gx |
|
| 18 |
| url |
VCID-zqr8-anrb-2ud5 |
| vulnerability_id |
VCID-zqr8-anrb-2ud5 |
| summary |
Shopware 6's password recovery link does not expire after email change
### Summary
When a customer changes their email address after requesting a password reset, the old password reset link (tied to the previous email) remains valid. An attacker with access to the old email inbox is potentially able to reset the customer’s password even after the user changes their email address.
### PoC
1. Log in to a Shopware account.
2. Request a password reset for your current email address.
3. Copy the password reset link but do not open it.
4. Log back into your account.n
5. Navigate to Account Settings → Email and change your email address.
6. Use the previously copied reset link (from before the email change).
7. The system allows password change using the old link.
### Impact
Reproduced on Stable 6.6.10.7 and trunk. |
| references |
|
| fixed_packages |
|
| aliases |
GHSA-2w46-vq8h-98vh
|
| risk_score |
null |
| exploitability |
null |
| weighted_severity |
null |
| resource_url |
http://public2.vulnerablecode.io/vulnerabilities/VCID-zqr8-anrb-2ud5 |
|
|