CRITICAL🇬🇧 English

CVE-2025-59340

HubSpot Jinjava — ucieczka z sandbox i RCE przez deserializację szablonów

CVSS 9.8v3.1pub. 2025-09-17upd. 2025-09-26

Podatność w silniku szablonów Jinjava (przed wersją 2.8.1) umożliwia atakującemu ucieczkę z sandbox i deserializację dowolnych klas Java poprzez mechanizm ObjectMapper. W konsekwencji możliwe jest nieautoryzowane wykonanie kodu (RCE) oraz odczyt lokalnych plików systemowych.

Pokaż oryginał (EN)

jinjava is a Java-based template engine based on django template syntax, adapted to render jinja templates. Priori to 2.8.1, by using mapper.getTypeFactory().constructFromCanonical(), it is possible to instruct the underlying ObjectMapper to deserialize attacker-controlled input into arbitrary classes. This enables the creation of semi-arbitrary class instances without directly invoking restricted methods or class literals. As a result, an attacker can escape the sandbox and instantiate classes such as java.net.URL, opening up the ability to access local files and URLs(e.g., file:///etc/passwd). With further chaining, this primitive can potentially lead to remote code execution (RCE). This vulnerability is fixed in 2.8.1.

🤖 Analiza AI
Jak działa

Atakujący może wykorzystać metodę mapper.getTypeFactory().constructFromCanonical(), aby nakłonić wbudowany ObjectMapper do deserializacji kontrolowanego przez siebie wejścia do dowolnych klas Java. Pozwala to na tworzenie instancji klas takich jak java.net.URL bez bezpośredniego wywoływania ograniczonych metod ani literałów klasowych, co skutecznie omija mechanizm sandbox. Poprzez łączenie (chaining) uzyskanych prymitywów atakujący może uzyskać dostęp do lokalnych plików i zasobów sieciowych (np. file:///etc/passwd), a w dalszej kolejności doprowadzić do zdalnego wykonania kodu (RCE).

Skutki

Atakujący może uzyskać pełną kontrolę nad zaatakowanym systemem, w tym odczytywać dowolne pliki lokalne, nawiązywać połączenia z zewnętrznymi zasobami oraz potencjalnie wykonać zdalny kod (RCE) bez konieczności posiadania jakichkolwiek uprawnień.

Mitygacja

Należy zaktualizować bibliotekę HubSpot Jinjava do wersji 2.8.1 lub nowszej, w której podatność została naprawiona. Patche dostępne są w repozytorium GitHub producenta (tag jinjava-2.8.1).

Kogo dotyczy

HubSpot Jinjava w wersjach wcześniejszych niż 2.8.1

Uwagi

Podatność sklasyfikowana jako CWE-1336 (improper neutralization of special elements used in a template engine). Poprawka dostępna w commicie 66df351e7e8ad71ca04dcacb4b65782af820b8b1 w repozytorium GitHub HubSpot/jinjava.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Hubspot Jinjava

    APP
    Hubspot
    < 2.8.1
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
RCEDeserialization
CWE
Referencje

Powiązane podatności

CVE-2026-25526CRITICAL9.8PL ✓ten sam produkt

HubSpot JinJava — obejście sandbox i wykonanie dowolnego kodu Java przez ForTag

CVE-2020-12668MEDIUM6.5ten sam produkt

Jinjava before 2.5.4 allow access to arbitrary classes by calling Java methods on objects passed into a Jinjav...

CVE-2018-18893MEDIUM5.3ten sam produkt

Jinjava before 2.4.6 does not block the getClass method, related to com/hubspot/jinjava/el/ext/JinjavaBeanELRe...

CVE-2022-1239HIGH8.8ten sam vendor

The HubSpot WordPress plugin before 8.8.15 does not validate the proxy URL given to the proxy REST endpoint, w...

CVE-2017-16035HIGH8.1ten sam vendor

The hubl-server module is a wrapper for the HubL Development Server. During installation hubl-server downloads...