CRITICAL✓ PATCH🇬🇧 English

CVE-2021-31805

Apache Struts: niekompletna naprawa CVE-2020-17530 umożliwia RCE przez podwójne ewaluowanie OGNL

CVSS 9.8v3.1pub. 2022-04-12upd. 2024-11-21

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.

🤖 Analiza AI
Jak działa

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.

Skutki

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.

Mitygacja

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.

Kogo dotyczy

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

Uwagi

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 Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Apache Struts

    APP
    Apache
    2.0.0 – 2.5.29
🟢
PATCH DOSTĘPNY
Aktualizacja od producenta gotowa. Wdrożenie w ramach standardowego cyklu.
Tagi
RCE
CWE
Referencje

Powiązane podatności

CVE-2020-17530CRITICAL9.8⚠ KEVPL ✓ten sam produkt

RCE w Apache Struts 2 poprzez wymuszoną ewaluację OGNL

CVE-2017-9791CRITICAL9.8⚠ KEVPL ✓ten sam produkt

RCE w pluginie Struts 1 dla Apache Struts 2 (S2-048)

CVE-2017-5638CRITICAL9.8⚠ KEVPL ✓ten sam produkt

RCE w Apache Struts 2 poprzez błędną obsługę nagłówków HTTP (Jakarta Multipart parser)

CVE-2013-2251CRITICAL9.8⚠ KEVPL ✓ten sam produkt

Apache Struts 2: RCE przez prefiks action/redirect w parametrach

CVE-2012-0391CRITICAL9.8⚠ KEVPL ✓ten sam produkt

Apache Struts: RCE przez OGNL injection w ExceptionDelegator