Podatność w Apache Struts 2 umożliwia zdalne wykonanie kodu (RCE) poprzez wymuszoną ewaluację wyrażeń OGNL na niezaufanych danych wejściowych użytkownika w atrybutach tagów. Oceniona jako krytyczna (CVSS 9.8) i aktywnie exploitowana w środowiskach produkcyjnych.
▸ Pokaż oryginał (EN)
Forced OGNL evaluation, when evaluated on raw user input in tag attributes, may lead to remote code execution. Affected software : Apache Struts 2.0.0 - Struts 2.5.25.
Silnik szablonów Apache Struts 2 przetwarza atrybuty tagów z użyciem języka wyrażeń OGNL (Object-Graph Navigation Language). Gdy aplikacja przekazuje do tych atrybutów nieoczyszczone dane wejściowe użytkownika, dochodzi do wymuszonej podwójnej ewaluacji wyrażenia OGNL (CWE-917 — Expression Language Injection). Atakujący może spreparować złośliwy payload, który zostanie zinterpretowany i wykonany po stronie serwera z uprawnieniami procesu aplikacji.
Atakujący niewymagający żadnego uwierzytelnienia może uzyskać pełną kontrolę nad serwerem — w tym odczyt i modyfikację danych, instalację złośliwego oprogramowania oraz dalszy lateral movement w sieci organizacji.
Należy zaktualizować Apache Struts do wersji 2.5.26 lub nowszej, w której problem został rozwiązany (zgodnie z biuletynem bezpieczeństwa S2-061). W przypadku produktów Oracle należy zastosować patche dostępne u producenta zgodnie z referencjami. Do czasu wdrożenia patcha zaleca się ograniczenie dostępu do aplikacji opartych na Struts 2 na poziomie firewall oraz wdrożenie reguł WAF blokujących wyrażenia OGNL w parametrach żądań HTTP.
Apache Struts w wersjach 2.0.0 – 2.5.25 oraz produkty integrujące tę bibliotekę: Oracle Business Intelligence, Oracle Communications Diameter Intelligence Hub (konkretne wersje wskazane w referencjach producenta).
Podatność jest powiązana z biuletynem Apache Security Advisory S2-061. Publicznie dostępny exploit został opublikowany w serwisie Packet Storm Security (plik 160721). Podatność znajduje się na liście CISA Known Exploited Vulnerabilities, co potwierdza aktywne wykorzystanie w środowiskach produkcyjnych.
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.30 (bez)Oracle Business Intelligence
APPOracle12.2.1.3.012.2.1.4.0Oracle Communications Diameter Intelligence Hub
APPOracle8.0.08.1.08.2.08.2.3Oracle Communications Policy Management
APPOracle12.5.0Oracle Communications Pricing Design Center
APPOracle12.0.0.3.0Oracle Financial Services Data Integration Hub
APPOracle8.0.38.0.6Oracle Hospitality Opera 5
APPOracle5.6Oracle MySQL Enterprise Monitor
APPOracle8.0.23
CISA KEV — szczegółyi
- Dostawcai
- Apache ↗
- Produkti
- Struts
- Data dodania do KEVi
- 3 listopada 2021
- Termin remediation (USA)i
- 3 maja 2022(po terminie)
Zastosuj aktualizacje zgodnie z instrukcjami producenta.
▸ Pokaż oryginał (EN)
Apply updates per vendor instructions.
Wymuszona ewaluacja Forced Object-Graph Navigation Language (OGNL) w Apache Struts, gdy jest oceniana na surowych danych wejściowych użytkownika w atrybutach tagów, może prowadzić do remote code execution.
▸ Pokaż oryginał (EN)
Forced Object-Graph Navigation Language (OGNL) evaluation in Apache Struts, when evaluated on raw user input in tag attributes, can lead to remote code execution.
Powiązane podatności
RCE w Spring Cloud Function poprzez złośliwy SpEL routing-expression
Spring4Shell — RCE przez data binding w Spring MVC/WebFlux na JDK 9+
Apache Tomcat AJP Connector — odczyt plików i RCE (Ghostcat)
RCE w pluginie Struts 1 dla Apache Struts 2 (S2-048)
Apache Tomcat RCE przez JmxRemoteLifecycleListener (JMX)