NetSight
high8.3

CVE-2024-42356

Shopware vulnerable to Server Side Template Injection in Twig using Context functions

Impact

### 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.

Affected packages

EcosystemPackageAffectedFixed in
composershopware/core<= 6.5.8.126.5.8.13
composershopware/platform<= 6.5.8.126.5.8.13

Affected products

VendorProductAffected versions
ShopwareShopware
before 6.5.8.13
from 6.6.0.0 before 6.6.5.1

Weakness classification

References