Een gegenereerde abstracte illustratie op een bijna-zwarte achtergrond: een gesloten kamer van lichtblauw glas bevat één gloeiende amberkleurige kubus; één smalle open leiding vertrekt aan de rechteronderzijde van de kamer en voert een dunne amberkleurige lichtlijn naar een kleine donkere console aan de rechterrand. De wanden van de kamer zijn intact en niet gebarsten. Geen tekst, geen logo's, geen mensen.
AI Safety Incidents

DeepSeek Harness CVE-2026-82533: een agent in een sandbox schakelt zijn eigen sandbox uit met één commando

Auteur

Rowan Sterling

Publicatiedatum

Nieuwste modellen · 20Bekijk alle modellen →
Benchmarks: Artificial Analysis · dagelijks bijgewerkt
Terug naar alle berichten

VulnCheck publiceerde CVE-2026-82533 op 8 september 2026: een kritieke authenticatie-bypass waarmee een AI-codeeragent met één shell-opdracht zijn eigen sandbox kon uitschakelen. De software is DeepSeek Harness, DeepSeeks opensource-lokale runtime voor codeeragenten, die volgens de Cloud Security Alliance binnen enkele weken ruwweg 215.000 GitHub-sterren verzamelde; alles vóór 0.1.2-alpha.1 is getroffen. Het beoordeelde of een aanroeper lokaal was op basis van de eigen Host-header van de aanroeper, waardoor een verzoek kon beweren loopback te zijn. Omdat de sandbox wel bestandsschrijfacties maar geen loopback-netwerkverkeer beperkte, kon een ingeperkte agent de niet-geauthenticeerde besturings-API van de harness op poort 3080 aanroepen en zijn sessie overschakelen naar danger-full-access met goedkeuringen uitgeschakeld. VulnCheck geeft het een score van 9,4, kritiek; er wordt geen exploitatie in het wild beweerd. Het record is één vermelding in een openbare dataset van AI-incidenten, en the Orca AI Incident Archive bevat de volledige recordset, met datums, ernstgradaties en bronnen voor elke vermelding.

De controle die een verzoek vroeg wat het was

De kwetsbare component is de lokale agentbeheer-API van de harness, de kleine HTTP-service die de webinterface en de opdrachtregel gebruiken om een actieve sessie aan te sturen. Volgens de onderzoeksnotitie van de Cloud Security Alliance van 10 september 2026, die voortbouwt op het verslag van OX Security, het bedrijf dat de fout vond, luisterde die service standaard op 127.0.0.1 poort 3080 en nam zij haar vertrouwensbeslissing in een functie die de notitie isTrustedApiRequest noemt. De functie las de HTTP-Host-header en verleende toegang wanneer de waarde overeenkwam met een loopbacknaam zoals localhost of 127.0.0.1. Een Host-header is metadata die de client schrijft; die zegt niets over waar de TCP-verbinding vandaan kwam. The Hacker News meldt op 9 september 2026, met verwijzing naar de getroffen bron, dat de controle nooit naar de oorsprong van de verbinding keek en dat een opmerking in hetzelfde bestand zegt dat de controle "geen authenticatielaag is".

Dat is het geheel van CWE-807, het vertrouwen op niet-vertrouwde invoer bij een beveiligingsbeslissing, en dat is wat het gepubliceerde record van VulnCheck beschrijft: een door de client aangeleverde loopback-Host-header die wordt geaccepteerd in plaats van de werkelijke oorsprong van de TCP-verbinding te valideren.

Wat van een slechte controle een ontsnappingsroute maakte, was dat de harness de agent zijn eigen sleutels gaf. The Hacker News meldt dat de harness de shell van de agent het adres van de besturingsinterface en de identificatie van de huidige sessie doorgeeft, zodat een commando geen van beide hoeft te achterhalen. De sandbox dekte ondertussen het ene kanaal wel en het andere niet: de commandoreferentie voor de betrokken release zegt dat onder de standaardinstelling schrijfacties binnen de werkruimte en tijdelijke mappen blijven, terwijl leesacties en netwerktoegang niet worden beperkt.

A white card headed 'One command, from inside the sandbox', subtitled 'DeepSeek Harness 0.1.1-rc.2 and earlier, on shipped defaults — the sequence OX Security described', with a kicker reading 'CVE-2026-82533 · CVSS 9.4 · CWE-807'. Five numbered steps: the sandbox confines files but not the network; the harness hands the agent's shell the control interface address and session identifier; the API on 127.0.0.1:3080 is unauthenticated and isTrustedApiRequest accepts any Host header claiming loopback; no approval prompt fires because the call changes the session setting rather than requesting broader access; the agent then runs as the user who launched the harness. A footer credits the Cloud Security Alliance note of 10 September 2026 and The Hacker News of 9 September 2026.

Waarom goedkeuringsprompts het niet tegenhielden

De harness had wel goedkeuringsprompts, en ze werden niet zozeer omzeild als wel niet van toepassing. The Hacker News meldt dat in de getroffen release alleen om goedkeuring werd gevraagd wanneer een opdracht om bredere toegang vroeg dan de sessie al had. De escalatieaanroep beoogde niets van dien aard; hij wijzigde de instelling van de sessie. Een agent die deze uitvoerde, ging naar een modus die OX Security danger-full-access noemt, met goedkeuringsprompts ingesteld op nooit, en bleef draaien als de gebruiker die de harness had gestart, helemaal buiten de sandbox.

Het bewijs van OX Security voor de grens was een gecontroleerd paar. The Hacker News meldt dat het bedrijf twee sessies met identieke standaardinstellingen uitvoerde en beide dezelfde opdracht gaf: de sessie die de aanroep deed, schreef naar een map buiten zijn werkruimte, en de andere werd geblokkeerd.

Het tweede pad, en de voorwaarde die daarvoor nodig was

Dezelfde ontbrekende controle stelde de harness bloot aan aanroepers die zich helemaal nooit in een sandbox bevonden, maar alleen onder een voorwaarde die de standaardconfiguratie niet creëerde. De opdrachtregel weigerde de API aan alle netwerkinterfaces te binden, dus de poort was van elders alleen bereikbaar als een gebruiker die al had doorgestuurd — via een tunnel, een reverse proxy, een SSH-forward of de eigen port-forwardingfunctie van een editor, volgens The Hacker News; de nota van de Cloud Security Alliance noemt dezelfde reeks. Waar aan die voorwaarde was voldaan, stelt het advies van VulnCheck, kon een aanroeper zonder inloggegevens sessies aanmaken, willekeurige opdrachten uitvoeren en opgeslagen gesprekstranscripten exfiltreren. The Hacker News voegt toe dat dezelfde interface een verzoek bediende dat het volledige logboek van een sessie downloadt.

De sandboxroute vereist een andere voorwaarde: tekst die de agent leest en waarop hij actie onderneemt. De notitie van de Cloud Security Alliance beschrijft een ingeperkte agent die omgaat met een door een aanvaller aangeleverde prompt, ingebed in een codecommentaar, een README-bestand of issuetekst. Geen van beide routes vereist een gestolen sleutel, en de notitie merkt op dat het externe pad helemaal geen interactie met het model nodig heeft zodra de poort is blootgesteld.

De blootgestelde populatie bestaat dus uit iedereen die de harness met 0.1.1-rc.2 of eerder op standaardinstellingen heeft uitgevoerd, een groep waar het aantal sterren slechts een aanwijzing voor geeft. The Hacker News telde op 9 september 2026 meer dan 216.000 sterren en waarschuwde dat een ster een bladwijzer is en geen installatie.

Wat is vastgesteld, en wat niet

Vastgesteld op basis van het CVE-record zelf: VulnCheck is de nummeringsautoriteit, heeft de identificatiecode gereserveerd op 29 augustus 2026 en het record gepubliceerd op 8 september om 16:59 UTC; de zwakheid is CWE-807; het getroffen bereik is elke versie vóór 0.1.2-alpha.1; en de eer gaat naar Nir Zadok en Moshe Siman Tov Bustan. De twee scores die het record bevat, 9,4 onder CVSS 4.0 en 9,6 onder CVSS 3.1, komen van VulnCheck en niet van een tweede, onafhankelijke beoordelaar — NVD vermeldt beide metrieken met VulnCheck als bron — dus ze vormen één beoordeling uitgedrukt in twee kaders, niet twee beoordelingen die het met elkaar eens zijn.

Vastgesteld op basis van de repository: de fixcommit 3e24087, getiteld "fix(web): authenticate the browser Host API", is gedateerd op 24 augustus 2026 en voegt een browser-authmodule toe, samen met 210 regels end-to-endtests voor de nieuwe flow, volgens de GitHub API. De release met tag dsh-v0.1.2-alpha.1 volgde op 27 augustus om 17:06 UTC.

Niet vastgesteld: gebruik. Noch het CVE-record, noch het advies van VulnCheck, noch de releaseopmerkingen van DeepSeek beschrijven exploitatie in het wild, en NVD registreert de exploitvolwassenheid als niet gedefinieerd. Het EPSS-model van FIRST gaf de kwetsbaarheid een kans van 1,24% op exploitatie in de volgende 30 dagen, op het 68,9e percentiel, in de feed van 27 oktober 2026. Het archief registreert geen schade in de praktijk voor deze vermelding en kent er vertrouwensniveau A aan toe, goed gedocumenteerd, waarbij primaire bronnen het eens zijn.

De data, inclusief twee rapporten die als eerste binnenkwamen

Twee ontwikkelaars trokken dezelfde conclusie nog voordat er een CVE was om naar te wijzen. The Hacker News meldt een bericht op het eigen discussieforum van het project op 13 augustus 2026 waaruit blijkt dat een proces dat nog steeds door de sandbox werd beperkt de lokale interface bereikte en de sessie overschakelde naar danger-full-access, met testuitvoer erbij, en een tweede bericht op 14 augustus met een opsomming van de verzoeken die die interface zonder inloggegevens accepteerde. Het tweede bericht merkte ook op dat het project geen bestand met een beveiligingsbeleid had en geen besloten route om een kwetsbaarheid te melden; The Hacker News controleerde dit op 9 september en constateerde dat het bestand met het beveiligingsbeleid nog steeds ontbrak.

De tijdlijn van OX Security plaatst het rapport aan VulnCheck op 24 augustus 2026 — dezelfde datum die GitHub registreert voor de fix-commit. Het commit-bericht zegt niets over het rapport, en de publieke verklaring van OX Security, zoals The Hacker News die beschrijft, noemt de eerdere communityberichten niet. Of de twee gebeurtenissen op 24 augustus verband hielden, wordt niet in het openbare verslag vermeld, en dit artikel gaat daar niet van uit.

De kloof tussen herstel en openbaarmaking is niet ongewoon. In de nota van de Cloud Security Alliance staat dat OX Security het herstel op 30 augustus bevestigde, negen dagen voordat VulnCheck de CVE publiceerde.

A white timeline card headed 'From discussion board to CVE', subtitled 'The escape was described publicly ten days before the firm that reported it sent its report'. Rows: 13-14 August 2026, two community reports on the project discussion board; 21 August, 0.1.1-rc.2 published to npm; 24 August, OX Security reports to VulnCheck and fix commit 3e24087 is dated the same day; 27 August, GitHub release dsh-v0.1.2-alpha.1 at 17:06 UTC, never published to npm; 29 August, CVE identifier reserved; 30 August, fix confirmed and 0.1.2-alpha.2 becomes the first fixed npm release; 6 September, one Windows wrapper moves to 0.1.3-alpha.1; 8 September, CVE-2026-82533 published at 16:59 UTC with CVSS 9.4; 9 September, no security advisory on the repository's advisory list.

Waar de fix is toegepast, en waar niet

De GitHub-tag en het pakketregister zijn niet samen opgeschoven, en dat is het deel dat de moeite waard is om te weten als je de harness hebt geïnstalleerd zoals de instructies suggereren. Het command-linepakket @deepseek-ai/dsh publiceerde 0.1.1-rc.2 op 21 augustus 2026 en daarna niets tot 0.1.2-alpha.2 op 30 augustus. Versie 0.1.2-alpha.1, degene die de CVE als de oplossing noemt, ontbreekt volledig in het register, dus de eerste installeerbare opgeloste release liep drie dagen achter op de oplossing. De metadata van het npm-register is voor dit artikel op 28 oktober 2026 gelezen; The Hacker News meldde dezelfde kloof op 9 september.

De releaseopmerkingen presenteerden het niet als een beveiligingsrelease. Ze vermelden, tussen routinewijzigingen, dat de webinterface nu authenticatie met een eenmalig token vereist voor netwerktoegang, zonder CVE-verwijzing en zonder beveiligingsmelding, en The Hacker News trof op 9 september geen beveiligingsadvies aan in de advieslijst van de repository. Het mechanisme, zoals de Cloud Security Alliance het beschrijft: de harness print bij het opstarten een eenmalig token af, de browser wisselt dat token in voor een ondertekende cookie, en elke volgende aanroep moet de cookie presenteren — vertrouwen is gebonden aan een geheim dat bij de start van het proces wordt uitgegeven, en niet aan een beweerde netwerkoorsprong.

{{1}}Builds van derden zijn het losse eind.{{/1}} Desktopwrappers leveren hun eigen kopie van de harness mee, dus welke versie een gebruiker draait, is de keuze van de onderhouder van de wrapper; {{2}}The Hacker News vond één Windows-build die eind augustus vastgepind stond op 0.1.1-rc.2 en op 6 september overging naar 0.1.3-alpha.1, die de fix bevat.{{/2}}

De sandbox zelf is ongewijzigd. Bij het lezen van de command-line-referentie voor 0.1.2-rc.1 trof The Hacker News dezelfde verklaring aan dat lezen en netwerktoegang niet worden beperkt, en dat de shell van de agent nog steeds het interfaceadres ontvangt. Geen enkele bron in die berichtgeving zegt of een agent die binnen zijn werkruimte werkt nog steeds een geldige sessie kan verkrijgen onder de nieuwe regeling, een vraag die de documentatie van de patch zelf openlaat.

A generated abstract illustration on a near-black background: a glowing amber key floats above a narrow round slot in dark metal, and a thin translucent wafer slides into the slot to seal it, lit cyan at the join; a ring of small indicator lights around the slot glows steady blue. No text, no logos, no people.

Wat de bronnen van het record aanbevelen

Beschouw elke installatie van 0.1.1-rc.2 of eerder als getroffen, ongeacht hoe deze is verpakt, inclusief een kopie die in een desktopwrapper is ingebed.

• Installeer 0.1.2-alpha.2 of nieuwer via npm; de nieuwste versie in het register op 27 oktober 2026 was 0.2.2-alpha.2.

• Als u niet kunt upgraden, stop dan de webinterface wanneer deze niet in gebruik is en verwijder eventuele tunnels, proxies of port forwards die poort 3080 bereiken.

• Controleer of poort 3080 vanaf iets anders dan loopback bereikbaar is, inclusief container-portforwarding, reverse proxies en SSH-tunnels.

• Log privilege-escalatie en wijzigingen in de goedkeuringsmodus op harnessniveau, omdat de aanval werkte door een ongeoorloofde escalatie als routinematige activiteit te laten lijken.

Alle vijf zijn afkomstig uit de notitie van de Cloud Security Alliance en de berichtgeving van The Hacker News; het CVE-record zelf bevat geen herstelrichtlijnen, anders dan de opgeloste versie.

Waarom de Cloud Security Alliance het als een patroon leest

De nota van de Cloud Security Alliance plaatst deze CVE naast twee andere containmentfouten bij coding-agents die zij in 2026 documenteerde: GuardFall op 1 juli, waarbij tien van de elf populaire opensource-coding-agents ertoe konden worden gebracht shell-opdrachten uit te voeren die hun guardrails moesten blokkeren, en de trust-handoff-bevindingen van 22 juli, waarbij een ingeperkte agent een bestand schreef dat later werd uitgevoerd door een vertrouwde component buiten de sandbox. De nota stelt expliciet dat alle drie voortkomen uit eigen onderzoek en niet uit een uitputtend marktonderzoek, en dat niet is vastgesteld of het patroon generaliseert buiten de agents die zij heeft onderzocht. Wat zij wel betoogt, is dat de fouten op verschillende lagen liggen — commandoguardrails, downstream-vertrouwen en nu control-plane-authenticatie — en daarom adviseert zij sandboxarchitectuur te behandelen als een inkoopvraagstuk in plaats van als een reeds vervulde vereiste.

DeepSeek's eigen veiligheidsdocumentatie spreekt die lezing niet tegen. In SAFETY.md van de repository staat dat de software "geen beveiligingsaudit heeft ondergaan en niet als veilig of productiegereed mag worden beschouwd", en dat sandboxing, goedkeuringsprompts en machtigingscontroles "geen isolatie garanderen of schade voorkomen". De authenticatiekloof waardoor een agent via de control-API naar buiten kon komen, is gedicht in huidige builds. De asymmetrie waardoor de ontsnapping kort was — een grens rond schrijfbewerkingen en niets rond het netwerk — blijft een vermelde beperking van de sandbox in plaats van een defect dat de patch beoogde te verhelpen.