Serveringsstacken for lokale LLM-er har vokst seg stor uten å modnes sikkerhetsmessig. CERT Coordination Center publiserte denne uken en advarsel om CVE-2026-5760 i SGLang, et rammeverk som har 26 100 stjerner og over 5 500 forks på GitHub. CVSS-score er 9,8 av 10.
Angrepet utnytter hvordan SGLang gjengir Jinja2-maler fra GGUF-modellfiler. Sikkerhetsforsker Stuart Beck fant at rammeverket kaller jinja2.Environment() uten sandboxing, i stedet for ImmutableSandboxedEnvironment som Jinja2-biblioteket selv anbefaler for utrustet input. En angriper kan lage en modellfil med tokenizer.chat_template som inneholder en SSTI-payload (server-side template injection) og en Qwen3-reranker-triggerfrase.
Sekvensen er enkel og reproduserbar:
- Angriperen publiserer en modell på Hugging Face eller en annen modellhub
- Du laster ned modellen og starter den i SGLang
- Første forespørsel til
/v1/rerankrenderer den ondsinnede malen med full Python-tilgang på serveren
«For å redusere denne sårbarheten anbefales det å bruke ImmutableSandboxedEnvironment i stedet for jinja2.Environment() for å rendere chat-malene. Ingen respons eller patch ble mottatt under koordineringsprosessen.» — CERT/CC-advisory
Sårbarheten tilhører samme klasse som CVE-2024-34359 i llama_cpp_python (CVSS 9,7, «Llama Drama») og CVE-2025-61620 i vLLM. Mønsteret er konsistent: Python-baserte inferens-servere bruker Jinja2 til å rendere chat-maler, og glemmer sandbox-modusen som biblioteket tilbyr gratis.
Hva bør du gjøre?
- Oppgrader SGLang til siste versjon umiddelbart. Sjekk releases på GitHub før du deployer, og legg merke til at CERT/CC ikke bekrefter noen offisiell patch ennå.
- Kjør aldri en modell fra ukjent kilde. Last kun ned vekter fra verifiserte Hugging Face-kontoer du allerede stoler på.
- Audit egen kode hvis du bruker Jinja2 direkte: erstatt
jinja2.Environment()medImmutableSandboxedEnvironmenti all rendering av brukerlevert data. - Isoler inferens-servere i sandkasser med minimale rettigheter. Kjør dem bak VPN eller Tailscale, ikke åpent mot internett.