Komponent ExceptionDelegator w Apache Struts przed wersją 2.2.3.1 interpretuje wartości parametrów HTTP jako wyrażenia OGNL podczas obsługi wyjątków niezgodności typów danych. Umożliwia to zdalnemu atakującemu wykonanie dowolnego kodu Java bez uwierzytelnienia.
▸ Pokaż oryginał (EN)
The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during certain exception handling for mismatched data types of properties, which allows remote attackers to execute arbitrary Java code via a crafted parameter.
Gdy aplikacja oparta na Apache Struts napotyka wyjątek związany z niezgodnością typu danych właściwości (np. przekazanie tekstu zamiast liczby), komponent ExceptionDelegator błędnie przetwarza wartość parametru jako wyrażenie OGNL (Object-Graph Navigation Language). Atakujący może spreparować żądanie HTTP zawierające złośliwy payload OGNL jako wartość parametru, który wywoła wyjątek niezgodności typów. W efekcie framework ewaluuje dostarczony przez atakującego kod jako wyrażenie OGNL w kontekście serwera, co prowadzi do wykonania dowolnego kodu Java.
Atakujący może zdalnie wykonać dowolny kod Java na serwerze (RCE), co w praktyce oznacza pełne przejęcie kontroli nad aplikacją i systemem — w tym odczyt i modyfikację danych, instalację backdoorów oraz lateral movement w sieci wewnętrznej.
Należy zaktualizować Apache Struts do wersji 2.2.3.1 lub nowszej. Szczegółowe informacje producenta dostępne są w notatkach do wersji 2.3.1.1 pod adresem http://struts.apache.org/2.x/docs/version-notes-2311.html oraz w biuletynie bezpieczeństwa S2-008.
Apache Struts w wersjach wcześniejszych niż 2.2.3.1
Podatność jest aktywnie exploitowana (CISA KEV). Publiczny exploit dostępny w Exploit-DB (ID 18329). Producent opisał ją w biuletynie S2-008.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HApache Struts
APPApache< 2.2.3.1
CISA KEV — szczegółyi
- Dostawcai
- Apache ↗
- Produkti
- Struts 2
- Data dodania do KEVi
- 21 stycznia 2022
- Termin remediation (USA)i
- 21 lipca 2022(po terminie)
Zastosuj aktualizacje zgodnie z instrukcjami producenta.
▸ Pokaż oryginał (EN)
Apply updates per vendor instructions.
Komponent ExceptionDelegator w Apache Struts 2 przed wersją 2.2.3.1 zawiera lukę w walidacji wejściowych danych, która umożliwia zdalne wykonanie kodu.
▸ Pokaż oryginał (EN)
The ExceptionDelegator component in Apache Struts 2 before 2.2.3.1 contains an improper input validation vulnerability that allows for remote code execution.
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 podatność path traversal przy upload plików