W bibliotece sofa-hessian istnieje łańcuch gadżetów (gadget chain) oparty wyłącznie na JDK, który pozwala ominąć mechanizm ochrony blacklisty deserializacji. Podatność umożliwia atakującemu zdalną, nieuwierzytelnioną eksploitację i jest oceniana jako krytyczna (CVSS 9.8).
▸ Pokaż oryginał (EN)
sofa-hessian is an internal improved version of Hessian3/4 powered by Ant Group CO., Ltd. The SOFA Hessian protocol uses a blacklist mechanism to restrict deserialization of potentially dangerous classes for security protection. But there is a gadget chain that can bypass the SOFA Hessian blacklist protection mechanism, and this gadget chain only relies on JDK and does not rely on any third-party components. This issue is fixed by an update to the blacklist, users can upgrade to sofahessian version 3.5.5 to avoid this issue. Users unable to upgrade may maintain a blacklist themselves in the directory `external/serialize.blacklist`.
Protokół SOFA Hessian stosuje mechanizm blacklisty w celu blokowania deserializacji potencjalnie niebezpiecznych klas. Atakujący może jednak wykorzystać gadget chain zbudowany wyłącznie z klas dostępnych w standardowym JDK — bez potrzeby użycia zewnętrznych bibliotek — aby ominąć tę ochronę. Przesłanie specjalnie spreparowanego payloadu deserializacyjnego pozwala wywołać nieautoryzowane działania po stronie serwera. Podatność nie wymaga uwierzytelnienia ani interakcji użytkownika.
Atakujący może uzyskać pełną kontrolę nad aplikacją — możliwe jest naruszenie poufności, integralności oraz dostępności systemu, w tym potencjalnie zdalne wykonanie kodu (RCE).
Należy zaktualizować sofa-hessian do wersji 3.5.5, w której blacklista została uzupełniona o wpisy blokujące znany gadget chain. Użytkownicy, którzy nie mogą przeprowadzić aktualizacji, powinni samodzielnie utrzymywać własną blacklistę w pliku w katalogu `external/serialize.blacklist`.
Biblioteka sofa-hessian (Antfin / Ant Group) — wersje poprzedzające 3.5.5.
Podatność zgłoszona i naprawiona w ramach GitHub Security Advisory GHSA-c459-2m73-67hj. Producent udostępnił obejście dla środowisk, w których aktualizacja nie jest możliwa, poprzez mechanizm zewnętrznej blacklisty.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HAntfin Sofa Hessian
APPAntfin< 3.5.5