Ett sätt förbi SGLangs pickle-filter

SGLang, ramverket med öppen källkod som används för att köra stora språkmodeller, kan fås att köra en angripares kod via en HTTP-slutpunkt som i grundläget inte kräver några inloggningsuppgifter. Det avslöjade VicOne den 11 september. Sårbarheten, CVE-2026-86793, publicerades samma dag av CERT/CC, och ingen åtgärdad version har pekats ut.

Problemet sitter i /update_weights_from_tensor. VicOne-forskaren Reuel Magistrado upptäckte att slutpunkten är märkt AuthLevel.ADMIN_OPTIONAL: om varken en API-nyckel eller en admin-API-nyckel är konfigurerad tar den emot anrop utan autentisering. Den som når servern kan skicka ett POST-anrop med base64-kodad pickle-data.

SGLang ska stoppa skadlig pickle-data med SafeUnpickler, ett filter som infördes för att täppa till en tidigare deserialiseringsbrist, CVE-2025-10164. Enligt VicOne släpper filtrets tillåtlista igenom allt under det breda prefixet builtins., och spärrlistan blockerar eval, exec, compile och open men inte __import__ eller getattr. Tillsammans räcker de två funktionerna för att nå vilken funktion som helst i vilken importerbar modul som helst.

Fiberoptiska kablar anslutna till en kopplingspanel
Fiberkablage i ett datacenter. Arkivbild. Brett Sayles · pexels · Pexels License

Ingen patch och två versionsintervall

VicOnes tidslinje visar en lång väntan. Företaget rapporterade bristen till projektets ansvariga den 29 juni, fick en bekräftelse via Slack den 2 juli, eskalerade till CERT/CC den 16 juli, och CERT/CC bekräftade sårbarheten den 30 juli. CVE-numret tilldelades den 8 september. Vid publiceringen, skrev VicOne, hade de ansvariga bekräftat rapporten men inte levererat någon patch eller tidsplan för en åtgärd.

Källorna är inte överens om omfattningen. VicOnes inlägg anger SGLang 0.5.14 och tidigare, medan CVE-posten omfattar alla versioner till och med 0.5.18. SGLang 0.5.19 kom ut på PyPI den 4 september, en vecka före offentliggörandet, men varken VicOne eller CVE-posten säger att den versionen åtgärdar bristen. Posten saknar ännu CVSS-poäng.

Det är inte första gången filtret har kringgåtts. CVE-2026-15969, publicerad den 30 juli med CVSS 3.1-poängen 9,8, beskrev kodkörning utan autentisering via en annan slutpunkt, /load_lora_adapter_from_tensors, genom en ofullständig spärrlista i SafeUnpickler.

VicOnes råd är att slå på autentisering och begränsa åtkomsten till den drabbade slutpunkten till betrodda nätverk.

Google ADK: 10,0 och redan åtgärdat

Den andra sårbarheten finns i Googles Agent Development Kit för Python. CVE-2026-79696, publicerad den 9 september med Google Cloud som numreringsmyndighet, har högsta möjliga CVSS 4.0-poäng, 10,0. Den gäller adk web i ADK-versionerna 2.0.0 till och med 2.6.0 i Python-, Cloud Run- och GKE-miljöer där pytest är installerat, och låter en oautentiserad angripare på distans köra godtycklig kod med en manipulerad uppspelning av en testsession.

Google härleder bristen till en ofullständig spärrlista över standardbiblioteket och anger Sanil Dulal som den som rapporterade den. Rättningen som posten hänvisar till förklarar att den gamla spärrlistan missade moduler som cProfile, bdb, trace och timeit, som kan köra godtyckliga strängar, och att hela standardbiblioteket nu blockeras i kodreferenser i agentkonfigurationer.

En utvecklare skriver kod på en bärbar dator
En person som arbetar med kod. Arkivbild. cottonbro studio · pexels · Pexels License

Till skillnad från SGLang är den här bristen åtgärdad. Rättningen kom i ADK 2.7.0 den 13 augusti, nästan fyra veckor innan CVE-numret publicerades, och OSV anger 2.7.0 som första åtgärdade version. Google uppmanar användare att uppgradera till google-adk 2.7.0 eller senare och att inte exponera adk web mot ett nätverk. Versionsanteckningarna för 2.7.0 slår också fast att servrarna för adk web och API:t saknar autentisering och bara är avsedda för lokal användning.

Del av ett mönster

Forkast räknar fyra kritiska CVE:er i infrastruktur för AI-inferens och AI-agenter på fyra veckor: NemoClaw (CVE-2026-65105, 25 augusti), DeepSeek Harness (CVE-2026-82533, 8 september), IBM Langflow (CVE-2026-81204, 8 september) och SGLang. Sajten menar att takten har nått ungefär ett offentliggörande i veckan under tredje kvartalet 2026, mot ungefär ett i månaden under 2025, och pekar på komponenter som byggts för enkel integration snarare än strikt åtkomstkontroll. ADK-bristen ingår inte i den räkningen.

Att hålla ögonen på

Den öppna frågan är om SGLangs ansvariga släpper en version som stänger kryphålet, och om den i så fall snävar in SafeUnpicklers tillåtlista för builtins., kräver autentisering som standard på ADMIN_OPTIONAL-slutpunkter, eller både och. Tills en åtgärdad version pekas ut är VicOnes råd om autentisering och nätverksbegränsning det enda skydd företaget anvisar.