CVE-2024-42356: 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::SYSTEMSCOPE, 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.
Other sources
Shopware is an open commerce platform. Prior to versions 6.6.5.1 and 6.5.8.13, 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. The 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. Update to Shopware 6.6.5.1 or 6.5.8.13 to receive a patch. For older versions of 6.1, 6.2, 6.3 and 6.4 corresponding security measures are also available via a plugin.
— MITRE
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2024-42356?
CVE-2024-42356 has been identified with a significant impact due to the injection of the 'context' variable into Twig Templates.
How do I fix CVE-2024-42356?
To fix CVE-2024-42356, upgrade to Shopware version 6.6.5.1 or higher.
Which versions are affected by CVE-2024-42356?
CVE-2024-42356 affects Shopware versions from 6.6.0.0 to 6.6.5.0 and all versions up to 6.5.8.12.
What does the 'context' variable in CVE-2024-42356 allow access to?
The 'context' variable in CVE-2024-42356 allows access to current language and currency information within Twig Templates.
Is the 'context' variable in CVE-2024-42356 exploitable?
Yes, the 'context' variable in CVE-2024-42356 can be exploited to change the scope temporarily, posing a security risk.