Security
Headlines
HeadlinesLatestCVEs

Headline

GHSA-35jp-8cgg-p4wj: 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:

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

ghsa
#git#php
  1. GitHub Advisory Database
  2. GitHub Reviewed
  3. CVE-2024-42356

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

High severity GitHub Reviewed Published Aug 8, 2024 in shopware/shopware • Updated Aug 8, 2024

Package

composer shopware/core (Composer)

Affected versions

<= 6.5.8.12

>= 6.6.0.0, <= 6.6.5.0

Patched versions

6.5.8.13

6.6.5.1

<= 6.5.8.12

>= 6.6.0.0, <= 6.6.5.0

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:

$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

  • GHSA-35jp-8cgg-p4wj
  • shopware/core@04183e0
  • shopware/core@a784aa1
  • shopware/shopware@8504ba7
  • shopware/shopware@e43423b

Published to the GitHub Advisory Database

Aug 8, 2024

ghsa: Latest News

GHSA-pj33-75x5-32j4: RabbitMQ HTTP API's queue deletion endpoint does not verify that the user has a required permission