CVE-2026-48008
mediumpriority · track · 0OT risk · elevatedEPSS 0.005 · 41 %ileEUUSEPSS · scored 2026-10-27
Shopware is an open commerce platform. Prior to 6.6.10.18 and 6.7.10.1, a non-admin API user with integration:create ACL privilege can escalate to full administrator by creating an integration with admin: true through the Sync API POST /api/_action/sync; the regular integration endpoint POST /api/integration blocks this, but SyncController::sync() routes writes through SyncService to EntityWriter::upsert(), and src/Core/Framework/Integration/IntegrationDefinition.php lacks WriteProtection on the admin field. This issue is fixed in versions 6.6.10.18 and 6.7.10.1.
cvss
Technical severity, 0–10. One row per scoring source.
base score 0–10 · higher = more severe · hover a vector to decode
ssvc
A stakeholder decision — act, attend, or track — from exploitation and impact.
weaknesses
The CWE weakness classes this flaw belongs to.
affected products (8)
Products and version ranges known to be affected.
advisories (1)
Vendor and ecosystem advisories describing this.
- GHSA-gv8p-48fr-4fxgShopware: Privilege Escalation via Sync API Integration Admin Flag Bypass2026-06-04ghsa · osvUS
## Summary A non-admin API user with `integration:create` ACL privilege can escalate to full administrator by creating an integration with `admin: true` through the Sync API (`POST /api/_action/sync`). The regular integration endpoint (`POST /api/integration`) correctly blocks this, but the Sync API bypasses the controller-level check by writing directly through the DAL EntityWriter. The `integration` entity definition lacks `WriteProtection`, and the `admin` field has no field-level restriction flag. **OWASP:** A01:2021 — Broken Access Control ## Root Cause `IntegrationController::upsertIntegration()` checks `$source->isAdmin()` before allowing the `admin` field to be set. However, `SyncController::sync()` routes writes through `SyncService → EntityWriter`, which only applies: 1. `AclWriteValidator` — checks entity-level ACL (`integration:create` is sufficient) 2. `EntityProtectionValidator` — checks `WriteProtection` on entity definitions, but `IntegrationDefinition` has none The `admin` field in `IntegrationDefinition` is a plain `BoolField` with no `WriteProtection` or special flag. The Sync API writes it without restriction. **Vulnerable code path:** - `src/Core/Framework/Api/Controller/SyncController.php` → `SyncService` → `EntityWriter::upsert()` - **Missing protection:** `src/Core/Framework/Integration/IntegrationDefinition.php` — `admin` field has no `WriteProtection(Context::SYSTEM_SCOPE)` **Working protection (bypassed):** - `src/Core/Framework/Integration/IntegrationController.php:46-56` — `isAdmin()` check only applies to the dedicated controller endpoint ## Impact - **Complete admin API access** — the escalated integration has full read/write on every entity: users, customers, orders, system configuration, integrations, plugins - **PII exfiltration** — read all customer records (names, emails, addresses, order history) - **Persistent backdoor** — the admin integration survives password changes and user deactivation ## Remediation Add `WriteProtection(Context::SYSTEM_SCOPE)` to `IntegrationDefinition`, matching how `UserDefinition` and `AclRoleDefinition` are already protected: ```php // src/Core/Framework/Integration/IntegrationDefinition.php (new BoolField('admin', 'admin')) ->addFlags(new WriteProtection(Context::SYSTEM_SCOPE)), ```
also known as (3)
Other names and identifiers for this entity.
sources
Which sources assert this record, and when.
references (16)
External citations — patches, advisories, analysis.
- https://github.com/shopware/shopware/commit/1e047f6d7fd9129271e28c1c9f1c272983c6f48fcnnvd
- https://github.com/shopware/shopware/commit/db5adff33ec30b648979cd1938c87f164f7b3073cnnvd
- https://github.com/shopware/shopware/releasesPatchcnnvd
- https://github.com/shopware/shopware/releases/tag/v6.6.10.18cnnvd
- https://github.com/shopware/shopware/releases/tag/v6.7.10.1cnnvd
- https://github.com/shopware/shopware/security/advisories/GHSA-gv8p-48fr-4fxgcnnvd
- https://github.com/shopware/shopware/commit/1e047f6d7fd9129271e28c1c9f1c272983c6f48fenisa_euvd
- https://github.com/shopware/shopware/commit/db5adff33ec30b648979cd1938c87f164f7b3073enisa_euvd
Attackers weaponise vulnerabilities like this against internet-exposed services. See what is exposed on your perimeter with a free passive scan.
Free scan