Podatność dotyczy Apache Struts w wersjach od 2.0.0 do 2.5.29 i wynika z niekompletnej poprawki dla CVE-2020-17530. Atakujący może wykonać zdalny kod (RCE) poprzez wymuszenie podwójnej ewaluacji wyrażeń OGNL na niezaufanych danych wejściowych użytkownika.
▸ Pokaż oryginał (EN)
The fix issued for CVE-2020-17530 was incomplete. So from Apache Struts 2.0.0 to 2.5.29, still some of the tag’s attributes could perform a double evaluation if a developer applied forced OGNL evaluation by using the %{...} syntax. Using forced OGNL evaluation on untrusted user input can lead to a Remote Code Execution and security degradation.
Wcześniejsza poprawka dla CVE-2020-17530 nie wyeliminowała problemu w pełni — niektóre atrybuty tagów nadal pozwalały na podwójną ewaluację wyrażeń, gdy programista zastosował składnię %{...} wymuszającą ewaluację OGNL. Jeśli dane wejściowe od użytkownika są przetwarzane przez silnik OGNL bez odpowiedniego oczyszczenia, możliwe jest wstrzyknięcie złośliwego wyrażenia, które zostanie wykonane po stronie serwera. Prowadzi to do wykonania dowolnego kodu w kontekście aplikacji (RCE) oraz do ogólnego obniżenia poziomu bezpieczeństwa systemu.
Atakujący bez uwierzytelnienia może zdalnie wykonać dowolny kod na serwerze (RCE), co w praktyce oznacza pełne przejęcie kontroli nad aplikacją i potencjalnie całym serwerem, włącznie z naruszeniem poufności, integralności i dostępności danych.
Należy zaktualizować Apache Struts do wersji 2.5.30 lub nowszej, eliminując tym samym niekompletną poprawkę z CVE-2020-17530. Szczegółowe informacje dostępne w biuletynie S2-062 na stronie Apache oraz w referencjach producenta. Należy również zweryfikować kod aplikacji pod kątem stosowania wymuszonej ewaluacji OGNL na niezaufanych danych wejściowych.
Apache Struts w wersjach od 2.0.0 do 2.5.29 (włącznie), gdy programista stosuje wymuszoną ewaluację OGNL przez składnię %{...} na danych wejściowych od użytkownika
Podatność jest bezpośrednią konsekwencją niekompletnej naprawy wcześniejszej luki CVE-2020-17530 w Apache Struts. Opisana w biuletynie bezpieczeństwa Apache jako S2-062.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HApache Struts
APPApache2.0.0 – 2.5.29
Powiązane podatności
RCE w Apache Struts 2 poprzez wymuszoną ewaluację OGNL
RCE w pluginie Struts 1 dla Apache Struts 2 (S2-048)
RCE w Apache Struts 2 poprzez błędną obsługę nagłówków HTTP (Jakarta Multipart parser)
Apache Struts 2: RCE przez prefiks action/redirect w parametrach
Apache Struts: RCE przez OGNL injection w ExceptionDelegator