CRITICAL🇬🇧 English

CVE-2026-5760

SGLang: RCE przez niezabezpieczony silnik Jinja2 w endpoincie reranking

CVSS 9.8v3.1pub. 2026-04-20upd. 2026-06-03

Podatność w bibliotece SGLang pozwala na zdalne wykonanie kodu (RCE) poprzez endpoint /v1/rerank, gdy załadowany zostanie plik modelu zawierający złośliwy szablon Jinja2 w polu tokenizer.chat_template. Jest to podatność krytyczna, umożliwiająca pełne przejęcie kontroli nad serwerem bez żadnego uwierzytelnienia.

Pokaż oryginał (EN)

SGLang's reranking endpoint (/v1/rerank) achieves Remote Code Execution (RCE) when a model file containing a malcious tokenizer.chat_template is loaded, as the Jinja2 chat templates are rendered using an unsandboxed jinja2.Environment().

🤖 Analiza AI
Jak działa

Endpoint /v1/rerank w SGLang renderuje szablony Jinja2 zdefiniowane w polu tokenizer.chat_template pliku modelu. Renderowanie odbywa się przy użyciu niezabezpieczonego obiektu jinja2.Environment(), który nie stosuje sandboxingu. Atakujący może dostarczyć plik modelu zawierający złośliwy szablon Jinja2, którego wykonanie prowadzi do uruchomienia arbitralnego kodu po stronie serwera. Brak uwierzytelnienia oraz ograniczeń złożoności ataku (AC:L, PR:N, UI:N) sprawia, że eksploitacja jest wyjątkowo prosta.

Skutki

Atakujący może uzyskać pełną kontrolę nad serwerem — odczytać, zmodyfikować lub usunąć dane (C:H, I:H, A:H w skali CVSS), a także wykonać dowolne polecenia systemowe w kontekście procesu SGLang.

Mitygacja

Należy zastosować patche dostępne w repozytorium projektu (pull request sgl-project/sglang#23660). Do czasu wdrożenia poprawki zaleca się ograniczenie dostępu sieciowego do endpointu /v1/rerank wyłącznie do zaufanych hostów oraz unikanie ładowania plików modeli z niezaufanych źródeł.

Kogo dotyczy

SGLang w wersji 0.5.9 oraz potencjalnie inne wersje z niezabezpieczonym silnikiem Jinja2 — dokładny zakres wersji wskazany w referencjach producenta (pull request #23660 w repozytorium sgl-project/sglang).

Uwagi

Dostępny jest publiczny proof-of-concept exploit opublikowany w repozytorium GitHub (Stuub/SGLang-0.5.9-RCE). Podatność jest opisana w bazie CERT/CC pod identyfikatorem VU#915947.

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

    APP
    Lmsys
    < 0.5.11
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
RCE
CWE
Referencje

Powiązane podatności

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

RCE w SGLang przez niebezpieczną deserializację pickle na gnieździe ROUTER

CVE-2026-7302CRITICAL9.1PL ✓ten sam produkt

SGLang: path traversal umożliwiający zapis dowolnych plików bez uwierzytelnienia

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

RCE przez niebezpieczną deserializację w SGLang (dill.loads)

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

RCE w SGLang przez deserializację pickle bez uwierzytelnienia (ZMQ broker)

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

SGLang: nieuwierzytelnione RCE przez deserializację pickle w module disaggregation