Kritische Schwachstelle in beliebter PHP-Bibliothek: Bedrohung für tausende Websites

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Kritische Schwachstelle in beliebter PHP-Bibliothek: Was Entwickler wissen müssen



Ein Team von Cybersicherheitsforschern der Firma SonarSource hat einen Bericht über eine kritische Schwachstelle veröffentlicht, die in einer der am weitesten verbreiteten PHP-Bibliotheken für die Arbeit mit Templates entdeckt wurde – Smarty. Die Schwachstelle mit der Kennung CVE-2024-35227 ermöglicht es einem Angreifer, aus der Ferne beliebigen Code auf dem Server auszuführen, was zur vollständigen Kompromittierung der Webanwendung führen kann.



Details der Schwachstelle



Das Problem hängt mit dem Mechanismus zur Verarbeitung von Benutzereingaben in der Funktion fetch() der Smarty-Bibliothek zusammen. Bei unsicherer Konfiguration und fehlender Datenfilterung kann ein Angreifer eine schädliche Zeichenfolge übergeben, die als PHP-Code interpretiert wird. Auf der CVSS v3.1-Skala erhielt die Schwachstelle die Höchstpunktzahl von 9.8 (Critical).



Hauptmerkmale der Schwachstelle:

  • Angriffsvektor: Remote (Network)
  • Ausnutzungskomplexität: Niedrig (Low)
  • Erforderliche Berechtigungen: Keine (None)
  • Auswirkung auf die Integrität: Vollständig (High)


Betroffene Versionen



Die Schwachstelle betrifft alle Versionen der Smarty-Bibliothek bis einschließlich 4.3.2 und 5.0.1. Die Entwickler der Bibliothek haben bereits Patches in den Versionen 4.3.3 bzw. 5.0.2 veröffentlicht. Allen Benutzern wird dringend empfohlen, die Bibliothek umgehend zu aktualisieren.



So überprüfen Sie die Schwachstelle in Ihrem Projekt



Um sicherzustellen, dass Ihr Projekt nicht gefährdet ist, führen Sie die folgenden Schritte aus:

  • Überprüfen Sie die Smarty-Version in der Datei composer.json oder vendor/smarty/smarty/Smarty.class.php.
  • Wenn die Version niedriger als 4.3.3 oder 5.0.2 ist (je nach Branch), führen Sie das Update durch: composer update smarty/smarty.
  • Überprüfen Sie alle Stellen im Code, an denen die Funktion fetch() mit Benutzerdaten verwendet wird.


Schutzempfehlungen



Neben der sofortigen Aktualisierung der Bibliothek raten Experten, die allgemeinen Sicherheitsregeln zu befolgen:

  • Filtern und escapen Sie stets Benutzereingaben.
  • Wenden Sie das Prinzip der minimalen Rechte für Dateioperationen an.
  • Aktualisieren Sie regelmäßig alle Projektabhängigkeiten.
  • Nutzen Sie Tools zur statischen Code-Analyse (SAST) zur Suche nach Schwachstellen.


Geschichte und Kontext



Smarty ist eine der ältesten PHP-Bibliotheken für Template-Engine, die 2004 veröffentlicht wurde. Sie wird in so beliebten CMS wie Drupal (über Module), PrestaShop und vielen Eigenentwicklungen eingesetzt. Analysten schätzen, dass die Schwachstelle potenziell mehr als 100.000 Websites weltweit betrifft.



Dies ist nicht das erste schwerwiegende Sicherheitsproblem in der Bibliothek. Im Jahr 2021 wurde die Schwachstelle CVE-2021-29454 im Zusammenhang mit Template-Injection entdeckt. Die Smarty-Entwickler veröffentlichen zeitnah Patches, aber die Anzahl veralteter Versionen in der Produktion bleibt hoch.

Empfohlene Bibliotheken