Přeskočit na obsah
Bezpečnost 3 min čtení

SGLang omezuje vzdálená média na 64 MiB

Inference server SGLang 0.5.18 nově omezuje jeden vzdálený obrázek, video nebo zvuk na 64 MiB. Pro servery přístupné nedůvěryhodným klientům přidal také volitelný seznam přesných názvů hostitelů a kontrolu každého přesměrování.

Řady serverů v datovém centru Wikimedia Foundation
Adresa obrázku zadaná klientem se na serveru mění v odchozí síťový požadavek. Foto: Victor Grigas, Wikimedia Commons (CC BY-SA 3.0)

SGLang umí vedle textu přijmout také adresu obrázku, videa nebo zvuku, stáhnout soubor na server a předat jej multimodálnímu modelu. Pro klienta je to pohodlné. Pro provozovatele však taková adresa není obyčejný obsah: určuje, kam se má jeho server připojit a kolik dat má převzít.

Vydání SGLang 0.5.18 z 22. srpna proto mění společný downloader vzdálených médií. Jeden soubor má nově výchozí strop 64 MiB, kontrolují se cíle přesměrování a správce může povolit jen vybrané názvy hostitelů. Změna se týká obrázků, videa i zvuku.

Velikost se kontroluje předem i během stahování

První kontrola vychází z hlavičky Content-Length. Pokud server předem oznámí větší soubor, SGLang jej odmítne. Na tuto hlavičku se ale nespoléhá: počet přijatých bajtů hlídá také při samotném přenosu. Soubor tedy nemůže projít jen tím, že odesílající server délku zatají nebo uvede nižší číslo.

Limit se nastavuje parametrem --media-url-max-file-size-mb. Hodnota 64 je výchozí, nula omezení vypne. To může pomoci ve vnitřním prostředí s opravdu velkými videi, ale zároveň odstraní pojistku proti nečekanému vytížení paměti, úložiště a síťové linky. Samotných 64 MiB navíc není celková kvóta požadavku; jde o strop jednoho vzdáleného souboru.

Limit řeší objem přenášených dat, nikoli cíl spojení. Malá odpověď z interní služby může být pro útočníka cennější než velký veřejný obrázek. Proto jej nelze vydávat za úplnou ochranu před zneužitím odchozích požadavků.

Seznam připouští jen přesné hostitele

Druhá novinka se zapíná parametrem --allowed-media-domains. Správce do něj zadá názvy hostitelů, ze kterých smí server média stahovat. Porovnání je přesné: povolení media.example.com automaticky neotevře cdn.media.example.com ani jinou poddoménu. Každý potřebný hostitel se musí uvést zvlášť.

Návrh změny číslo 34892 zároveň zachovává zpětnou kompatibilitu. Pokud správce seznam vůbec nenastaví, zůstávají povolené všechny domény dostupné přes HTTP a HTTPS. Dokumentace proto výslovně varuje, aby taková konfigurace nebyla vystavena nedůvěryhodným uživatelům.

Omezení domén se nevztahuje na lokální soubory ani na adresy data:, které nesou obsah přímo v požadavku. I ty je potřeba posuzovat podle toho, kdo smí rozhraní volat a jaké další vstupy server přijímá. Nová volba hlídá jednu konkrétní cestu: vzdálená média stahovaná přes společný síťový downloader.

Kontrola pokračuje po každém přesměrování

Kontrola jen první adresy by nestačila. Povolený veřejný web může odpovědět přesměrováním na jinou doménu, případně na adresu dostupnou pouze uvnitř infrastruktury. SGLang proto prověří počáteční URL i každý další cíl a povolí nejvýše pět přesměrování. Jakmile některý cíl nesedí se seznamem, stahování skončí.

Právě přesměrování zmiňuje také doporučení OWASP k SSRF. Server-side request forgery nastává, když aplikace na pokyn uživatele odešle požadavek na místo, ke kterému se uživatel sám nedostane. Typickým vstupem může být právě URL obrázku. OWASP doporučuje při předem známých cílech seznam povolených adres a upozorňuje, že automatické následování přesměrování může kontrolu původní URL obejít.

DNS a síťová pravidla zůstávají na správci

Nový seznam porovnává název hostitele. Sám o sobě však nezaručí, na jakou IP adresu se tento název přeloží. Útočník ovládající DNS může zkusit, aby povolené jméno nejdřív prošlo kontrolou a později ukázalo na soukromou adresu. OWASP proto vedle seznamu doporučuje ověřovat také výsledné IP adresy a zablokovat spojení do nepovolených sítí na úrovni firewallu nebo odchozí proxy.

Praktické nasazení má tři vrstvy. Limit velikosti omezuje škodu z jednoho souboru. Seznam hostitelů zužuje místa, která může klient zvolit. Síťová pravidla pak brání procesu SGLangu v přístupu k interním službám, metadatům cloudového prostředí a dalším adresám, které pro inferenci nepotřebuje. Až jejich kombinace s ověřením přeložených adres řeší jak objem, tak cíl spojení.

Aktualizace na 0.5.18 tedy přináší potřebné stavební díly, bezpečné nastavení ale nevytvoří za správce. Kdo server zpřístupňuje jen vlastní aplikaci a vzdálené URL nepotřebuje, může jejich použití omezit už na vstupním rozhraní. Kdo je potřebuje pro cizí klienty, má po aktualizaci důvod nastavit konkrétní hostitele, ponechat nenulový limit a ověřit skutečné odchozí cesty ze serveru.

Zdroje

Diskuse

Zatím tu nikdo nediskutuje. Můžete být první.

Napsat příspěvek

Diskutovat můžete i bez účtu. S registrací se ale příspěvek zveřejní hned a nemusíte pokaždé vyplňovat jméno. Účet už máte? Přihlaste se.

Nezveřejňujeme ho, slouží jen redakci.

Podporuje zápis Texy: **tučně**, *kurzíva*, odrážky, odkazy.

Dál k tématu

  1. Bezpečnost

    Hydra zakázala v konfiguraci šedesát čtyři citlivých jmen včetně os.system

    Funkce instantiate() v knihovně Hydra zavolá to, co v konfiguraci stojí pod klíčem _target_. Vydání 1.3.4 proti tomu postavilo seznam 64 zakázaných jmen, jenže…

  2. Bezpečnost

    Xinference spouštěl odpověď modelu jako kód

    Při zpracování volání nástrojů pro Llama 3 posílal Xinference výstup modelu do pythonové funkce eval(). Nově zveřejněná chyba CVE-2026-61539 tak v testovaném výchozím…

  3. Bezpečnost

    Spring AI 2.0.1 nastavila strop na 100 000 relací serveru MCP

    Spring AI 2.0.0 dovolovala vzdálenému klientovi bez přihlášení opakovanými inicializacemi postupně vyčerpat paměť serveru. Oprava z 21. srpna omezuje počet relací, ale…

  4. Bezpečnost

    Knihovna Transformers čte podle indexu i soubory mimo složku modelu a opravu nemá

    Když Transformers načítá model rozdělený do víc souborů, vezme jejich jména z indexu ležícího vedle vah a připojí je ke složce modelu bez jediné kontroly. Jméno, které…