Ist Spring - SPEL anfällig?

7

Ich stieß auf einen Artikel Open Source-Bibliothek mit Schwachstellen .

Dieser Artikel besagt, dass "Spring Expression Language (SPEL) könnte durch die Übermittlung von HTTP-Parametern ausgenutzt werden, die es Angreifern ermöglichen würde, sensible Systemdaten, Anwendungs- und Benutzer-Cookies zu erhalten."

Kann jemand bitte mehr Licht darauf werfen?

    
Ahamed Mustafa M 25.04.2012, 03:39
quelle

2 Antworten

3

Überprüfen Sie diesen Aspekt Sicherheit / Mindestsicherheit Auswertung von SPEL ( Google Docs-Link ), auf den sich der Artikel, auf den Sie verweisen, wahrscheinlich bezieht (für den speziellen Fall von SpEL).

Sie beschreiben, wie bestimmte Spring-JSP-Tags EL-Ausdrücke doppelt auswerten. In diesen Fällen kann es für den Benutzer möglich sein, Daten an den Server in der Form von SpEL, z. als Request-Parameter mit dem Wert ${bean.val} (URL-codiert)

%Vor%

Innerhalb von JSP-Seiten wird der Ausdruck ${param.exp} in den Text ${bean.val} aufgelöst, der an sich sicher ist. Wenn jedoch dieser Ausdruck innerhalb eines Attributs eines Spring-JSTL-Tags liegt, kann dieser aufgelöste Wert erneut z.B. im spring:message -Tag:

%Vor%

führt dazu, dass der Wert ${bean.val} an das spring:message -Tag übergeben wird, der die Methode bean.getVal() auswertet. Daher haben wir jetzt Code vom Client gesendet und auf dem Server ausgeführt.

    
krock 25.04.2012, 05:03
quelle
27

Die Entdeckung von Aspect Security wurde im Januar 2013 gefunden, aber das Update, das SpringSource veröffentlicht hatte, wurde bereits im Jahr 2011 verfügbar gemacht, als dieses zum ersten Mal entdeckt wurde. Dan Amodio von Aspect Security informierte SpringSource über die Möglichkeit der Remotecodeausführung.

SpringSource hat unseren Sicherheitsbericht 12-06-2012 mit der Feststellung von Aspect Security aktualisiert - aber die in der ursprünglichen Empfehlung aufgelistete Fehlerbehebung / Minderung ist immer noch anwendbar: Ссылка

Diese Sicherheitsanfälligkeit betrifft nur Spring Framework-Versionen:

• 3.0.0 bis 3.0.5 - Ein Upgrade auf 3.0.6 würde das Problem lösen. • 2.5.0 bis 2.5.6.SEC02 (Community-Releases) - Ein Upgrade auf 2.5.6.SEC03 würde das Problem lösen. • 2.5.0 bis 2.5.7.SR01 (Abonnementskunden) - Ein Upgrade auf 2.5.7.SR02 würde das Problem lösen.

Dies wurde in allen zukünftigen Versionen behoben - die aktuelle Version von SpringFramework ist 3.2, veröffentlicht im Dezember 2012.

Danke,

-Pieter (SpringSource)

    
Pieter Humphrey 19.03.2013 21:32
quelle

Tags und Links