2012-04-25 12 views

Odpowiedz

3

Zamówienie tego aspektu Bezpieczeństwo/Minded Security evaluation of SpEL (google docs link), do którego prawdopodobnie odwołuje się artykuł (w konkretnym przypadku Spel).

Opisują, w jaki sposób niektóre wiosenne znaczniki JSP podwójnie oceniają wyrażenia EL. W takich przypadkach użytkownik może przesłać dane do serwera w postaci Spel, np. jako parametr żądania z wartością ${bean.val} (URL zakodowanej)

http://...?exp=$%7Bbean.val%7D 

stron Wewnątrz JSP, wyrażenie ${param.exp} zostaną rozwiązane do tekstu ${bean.val} która sama w sobie jest bezpieczny. Jeśli jednak wyrażenie to znajduje się w obrębie atrybutu sprężystego znacznika JSTL, ta rozstrzygnięta wartość może zostać ponownie oceniona, np. w spring:message tagu:

<spring:message message="${param.exp}" /> 

spowoduje wartości ${bean.val} przepuszcza się przez do znacznika spring:message który oceni metody bean.getVal(). Dlatego mamy teraz kod przesłany przez klienta i uruchomiony na serwerze.

+1

proszę zobaczyć znacznie wyższa głosowałem odpowiedź poniżej, która jest faktyczna – blackdrag

+0

@blackdrag dzięki, już to przeczytałem. Zarówno ten post, jak i Pieter's dostarczają dwóch różnych odpowiedzi na oryginalne pytanie: "Czy ktoś może rzucić więcej światła na ten temat?". Ta odpowiedź (mająca już prawie rok) z nadzieją zawiera trochę szczegółów na temat tej luki, podczas gdy odpowiedź Pietera opisuje historię SpringSources w radzeniu sobie z nią i wersje wiosny, w których problem został rozwiązany. IMO obie "rzucają światło" na różne sposoby i obie są "rzeczywistymi" odpowiedziami. – krock

+0

Zgadzam się, oboje rzucają światło na tę kwestię.Tyle tylko, że zostało to naprawione przed 2012 r. Brakuje najbardziej wartościowych informacji, że raport był już nieaktualny w chwili, gdy go zadano. Dlatego nie uważam już tej odpowiedzi za "aktualną". – blackdrag

27

Odkrycie według Aspect Security zostało znalezione w styczniu 2013 r., Ale poprawka opublikowana przez SpringSource została udostępniona w 2011 r., Kiedy została odkryta. Dan Amodio z Aspect Security poinformował SpringSource o możliwości zdalnego wykonania kodu.

SpringSource aktualizowany nasz raport bezpieczeństwa 12-06-2012 ze znalezieniem aspekt bezpieczeństwa - ale poprawka/łagodzenie wymienione w oryginalnym poradniku jest nadal stosowane: http://support.springsource.com/security/cve-2011-2730

Luka ta dotyczy tylko wersji Spring Framework:

• 3.0.0 do 3.0.5 - aktualizacja do wersji 3.0.6 rozwiąże problem. • 2.5.0 do 2.5.6.SEC02 (wydania społeczności) - aktualizacja do wersji 2.5.6.SEC03 rozwiąże problem. • Od 2.5.0 do 2.5.7.SR01 (klienci subskrypcji) - aktualizacja do wersji 2.5.7.SR02 rozwiąże problem.

ta została ustalona we wszystkich wersjach przyszłości - Obecna wersja Spring Framework 3.2, wydany w grudniu 2012.

Dzięki,

-Pieter (SpringSource)

Powiązane problemy