---
title: "Magento 2 - Sicherheitspatch APSB23-50"
url: "https://www.wamoco.de/magento-2-security-patch-apsb23-50/"
description: "Kritische Sicherheitslücke jetzt schließen"
---

E-COMMERCEMAGENTO 2MAGENTOSECURITY

# Magento 2 - Sicherheitspatch APSB23-50

WA

Wamoco Redaktion

E-Commerce-Agentur aus Bremen

Veröffentlicht 12\. Oktober 2023

 ![Magento 2 - Sicherheitspatch APSB23-50](/_astro/broken_security_lock.CdfTcBNJ_2d9Vbk.jpg)

Am 10.10.2023 wurde ein kritischer Sicherheitspatch für Magento 2 veröffentlicht. Dieser schließt eine Sicherheitslücke, die es Angreifern ermöglicht, Kundendaten auszulesen und zu verändern. Der Patch ist für alle noch unterstützten Magento-2-Versionen verfügbar und sollte sofort installiert werden.

## Welche Versionen sind betroffen?

 

 

**Adobe Commerce**

2.4.7-beta1 und älter

2.4.6-p2 und älter

2.4.5-p4 und älter

2.4.4-p5 und älter

 

**Magento Open Source**    

2.4.7-beta1 und älter    

2.4.6-p2 und älter

2.4.5-p4 und älter

2.4.4-p5 und älter

Man kann also sagen, das aktuell alle getaggten Versionen von Magento 2 betroffen sind und der Patch installiert werden sollte.

## Was ist eigentlich los ?

Die Schwachstelle mit der höchsten CVSS-Punktzahl von 8.8 ([CVE-2023-38218](https://www.cve.org/CVERecord?id=CVE-2023-38218)) besagt, dass es sich um eine nicht authentifizierte Privilegienerweiterung aufgrund einer unsachgemäßen Eingabevalidierung handelt.

Dies bedeutet, dass ein Angreifer, über das REST-API von Magento 2 die Daten eines Kunden auslesen oder auch ändern kann. Dies kann neben dem Verlust von Kundendaten auch zu Bestellungen mit beim Kunden hinterlegten Zahlungsmethoden führen.

Dazu benötigt ein Angreifer zwei Informationen, um einen Angriff durchzuführen:

*   Kunden ID
*   E-Mail-Adresse

Die Notwendigkeit der genauen Kenntnis der Kunden-ID kann umgangen werden, indem jede ID zwischen 1 und \[Vom Angreifer erzeugte Kunden ID - 1\] ausprobiert wird, bis eine 200er-Antwort empfangen wird. Je nach Anzahl der Kunden in der Datenbank kann das zwischen einigen Sekunden und einigen Minuten dauern.

## Wie kann ich mich schützen?

Es gibt 2 Optionen, die Sicherheitslücke zu schließen:

### Update

Das Magento Open Source System kann auf eine der folgenden Versionen aktualisiert werden:

*   2.4.6-p3
*   2.4.5-p5
*   2.4.4-p6

### Patch

Alternativ zum Update kann die Sicherheitslücke durch das Einspielen eines Patches über z.B. composer geschlossen werden. Dazu kann folgender Patch angewendet werden:

**CVE-2023-38218.patch**

```
diff --git Plugin/Webapi/Controller/Rest/ValidateCustomerData.php Plugin/Webapi/Controller/Rest/ValidateCustomerData.php
index ad2d8ed..63551ff 100644
--- Plugin/Webapi/Controller/Rest/ValidateCustomerData.php
+++ Plugin/Webapi/Controller/Rest/ValidateCustomerData.php
@@ -28,8 +28,8 @@ class ValidateCustomerData
      */
     public function beforeOverride(ParamsOverrider $subject, array $inputData, array $parameters): array
     {
-        if (isset($inputData[self:: CUSTOMER_KEY])) {
-            $inputData[self:: CUSTOMER_KEY] = $this->validateInputData($inputData[self:: CUSTOMER_KEY]);
+        if (isset($inputData[self::CUSTOMER_KEY])) {
+            $inputData[self::CUSTOMER_KEY] = $this->validateInputData($inputData[self::CUSTOMER_KEY]);
         }
         return [$inputData, $parameters];
     }
@@ -45,7 +45,7 @@ class ValidateCustomerData
         $result = [];

         $data = array_filter($inputData, function ($k) use (&$result) {
-            $key = is_string($k) ? strtolower($k) : $k;
+            $key = is_string($k) ? strtolower(str_replace('_', "", $k)) : $k;
             return !isset($result[$key]) && ($result[$key] = true);
         }, ARRAY_FILTER_USE_KEY);
```

**Ergänzung in der `composer.json`:**

```
{
    "extra": {
        "magento-force": "override",
        "enable-patching": true,
        "patches": {
            "magento/module-customer": {
              "CVE-2023-38218": "patches/CVE-2023-38218.patch"
            }
        }
    }
}
```

### Weitere Maßnahmen

Da in den wenigsten Themes und Shops der verwendete Endpunkt  
`PUT /V1/customers/me`  
genutzt wird, gibt es alterantive Möglichkeiten die Sicherheitslücke kurzfristig zu schließen:

Sperren der Route `/V1/customers/me` über die Webserver-Konfiguration

**nginx Beispiel**

```
location ~ /rest/([^/]*/)?V1/customers/me {
  deny all;
}
```

Entfernen oder Auskommentieren der Route in der `vendor/magento/module-customer/etc/webapi.xml`

Unsere Empfehlung ist klar das Anwenden des Patches oder das Update auf eine der oben genannten Versionen.

Du brauchst Unterstützung beim Einspielen oder der Prüfung, ob dein Shop betroffen ist? Dann melde dich gerne bei uns.

[Jetzt Unterstützung anfordern](mailto:info@wamoco.de)