Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book
Spring Boot – zdalne wykonanie dowolnego kodu na serwerze
Zaczynają pojawiać się kolejne pęknięcia w układance o nazwie Spring. Niedawno było to RCE w Spring OAuth, teraz mamy bardzo proste do wykorzystania zdalne wykonanie kodu w Spring Boot.
Wykorzystanie załatanego już około roku temu błędu sprowadza się do wykorzystania faktu że wartości pewnych parametrów traktowane są jako Spring Expression Language (SpEL):
So this meant that any Whitelabel Error Page which reflected user input was vulnerable to it. This was because user input was being treated in as Springs Expression Language (SpEL).
Dalej to już odpowiednie manipulacje wartością parametru, takie jak tutaj:
czy raczej tutaj:
Na koniec mamy RCE (w wersji blind i non-blind)
–ms
Ten bug został zafixowany ponad rok temu (https://github.com/spring-projects/spring-boot/issues/4763) więc może lepiej sprawdźcie źródło zanim się na nie powołacie?
Tak, ale disclosure + exploit jest dopiero teraz.
Poza tym ile ludzi aktualizuje biblioteki? Patrz też: https://sekurak.pl/jak-sprawdzic-czy-uzywam-podatnych-bibliotek-projekt-owasp-dependency-check/
Ok to może warto dodać uwagę że to jest zafixowane od roku i należy się zupgreadowac? Po to są Release trainy żeby upgrade był jak najmniej bolesny.
Tak, jest link w tekście. Thx.
Tak przy okazji, ten OWASP checker jest ok, ale daje bardzo dużo fałszywych alarmów, których nie można wytłumić. Przykład: sterownik mysql ma numerację dużo niższą od serwera mysql, a mają ten sam identyfikator w bazie CVE, więc wyświetla mi się non stop kilkadziesiąt błędów o różnej krytyczności, do czegoś, co mnie nie dotyczy.
Oczywiście to nie ich wina, że nie da się łatwo zmapować CVE na identyfikatory zależności. Pewnie spróbuję rozszerzyć to nieco, żeby filtrować określone CVE.
Troszkę dziwne, jak kolega wyżej zauważył to jest jakiś staroć, zapomniany, wykryty praktycznie od razu (5 dni i załatane z linku kolegi) i to w czymś czego bądźmy szczerzy: nikt nie używa. Nie wiem dokładnie jakie doświadczenie ma osoba pisząca artykuły z Springiem, ale wprost mówiąc to whitelabela to chyba tylko studenciaki pisząc projekty używają :-) takie odkopywanie jakichs archiwów trochę zniechęca do czytania i śledzenia tej strony…
Nikt nie używa, a później RCE w bankowościach, bo nikt też nie aktualizuje bibliotek / frameworków :)
W dodatku cudzysłów jest encodowany i podany przykład nie zadziała.
Niestety proofreader chyba wam się wypalił.
No ale masz w linkowanym tekście masz sposób na obejście tego.
Ależ żeście się doczepili do autora. Proszę jakie kozaki krzykacze :-( Do tego pewnie każdy newsman prowadzący własny portal traktujący o bezpieczeństwie. Bez przesady.
E, spokojnie. Konkretna krytyka mile widziana – oznacza to lepsze materiały w przyszłości :)
Ja do autora nic nie mam. Po prostu pracuje w Pivotalu (robie Spring Clouda, nie Spring Boota) i od razu sie rzucilismy na ten artykul bo wydawalo nam sie, ze to juz bylo kiedys fixowane (co zostalo potwierdzone).
Wiesz, wszystkim nie dogodzisz. Ostatnio dostało się nam że za szybko opublikowaliśmy info o exploicie na Joomlę, teraz że znowu za wolno ;-)
Pewnie. Dobrze, ze takie rzeczy opisujecie. Jesli sami cos znajdziecie to wydaje mi sie, ze zawsze lepiej przed publikacja skontaktowac sie z tworcami danego narzedzia zeby jak najszybciej napisali late.
Marcin: tym razem coś bardziej świeżego ;) https://sekurak.pl/bash-wykonanie-dowolnego-kodu-przez-autocomplete/
aż za świeżego żeby spowodować masową zagładę ;)