Abstrakt teknisk illustration på ett mörkt marinblått fält: en bred halvtransparent gräns omsluter en rad små minimalistiska serverpaneler; en enda omärkt förfrågningspil kommer in i gränsen från vänster utan någon autentiseringstoken bredvid sig, och där den korsar gränslinjen blir pilen bärnstensfärgad och förgrenar sig sedan i många tunna cyanfärgade linjer som når varje panel inuti, inklusive en liten kub ritad med ett nyckelhål som representerar ett autentiseringsvalv. Under den stoppas en andra pil av samma storlek vid gränsen av en kort massiv vit stapel. Ingen text, inga personer eller organisationslogotyper förekommer. OrcaRouter-logotypen är komponerad i det nedre högra hörnet.
AI Safety Incidents

Loom for AWS gav varje oautentiserad begäran superadmin — CVE-2026-103956

Författare

Gideon Frost

Publiceringsdatum

Senaste modellerna · 20Visa alla modeller →
Benchmarks: Artificial Analysis · uppdateras dagligen
Tillbaka till alla inlägg

Den 2 oktober 2026 publicerade AWS säkerhetsbulletin 2026-124-AWS, som avslöjade CVE-2026-103956 i Loom for AWS, AWS Labs plattform med öppen källkod för att bygga, driftsätta och hantera AI-agenter på Amazon Bedrock AgentCore Runtime. I en driftsättning där ingen identitetsleverantör hade konfigurerats gav backendens autentiseringsberoende varje inkommande begäran en fast superadmin-identitet – inklusive begäranden som inte hade någon Authorization-header alls. En fjärrklient som kunde nå backend skulle kunna registrera verktygsservrar, läsa lagrade autentiseringsuppgifter för integrationer och skriva om IAM-rollpolicyerna som är kopplade till hanterade agentroller: fullständig administrativ kontroll över agentens kontrollplan utan någon autentisering. NVD ger sårbarheten betyget 10,0, kritisk, enligt både CVSS 3.1 och CVSS 4.0. Upptäckten tillskrivs Kenneth Cox, som arbetade via samordnad sårbarhetsrapportering. Rådgivningen beskriver vad sårbarheten skulle möjliggöra; den beskriver inte vad någon gjorde med den.

Vad autentiseringsberoendet faktiskt gjorde

Defekten låg i backendens autentiseringsberoende. Enligt GitHub-rådgivningen GHSA-vgmj-998f-r8mp, kodvägen i backendens autentiseringsberoende – den get_current_user-funktionen i Loom-backenden – returnerade en hårdkodad administratörsidentitet, ett superadmin-konto i g-admins-super-gruppen, närhelst ingen Amazon Cognito-användarpool och ingen aktiv extern identitetsleverantör fanns. Den kontrollerade inte om anroparen hade presenterat en token. Den föll inte igenom till en avvisning. Den returnerade administratörsidentiteten ändå.

AWS-bulletinen beskriver konsekvensen på samma sätt: sårbarheten gjorde att vilken nätverksklient som helst kunde få fullständig administrativ behörighet över agentens kontrollplan. CVE-2026-103956 mappas till CWE-306 (avsaknad av autentisering för en kritisk funktion) och CWE-1188 (osäker standardinitiering av en resurs). NVD:s CVSS 3.1-vektor är AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H — nåbar över nätverk, låg komplexitet, inga privilegier, ingen användarinteraktion, ändrat omfång, full påverkan på konfidentialitet, integritet och tillgänglighet.

Den viktiga inramningen, och den del som förklarar varför ett CVSS-betyg på 10,0 landade på ett litet projekt med öppen källkod, är att en driftsättning utan IdP inte är exotisk. En färsk Loom-installation som ännu inte har fått Cognito inkopplat befinner sig i exakt det tillståndet, och detsamma gäller en driftsättning vars identitetsleverantörskonfiguration aldrig sattes eller slutade att kunna lösas upp. Rådgivningen behandlar detta som ett vanligt tillstånd snarare än en felkonfiguration som operatören själv hade behövt bjuda in.

Vad en oautentiserad klient skulle kunna nå

• Agentregistreringar och verktygsservrar: klienten kunde registrera eller ändra de verktygsservrar som en agent får anropa, vilket i en arkitektur för verktygsanrop är skillnaden mellan en agent som läser ett ärende och en agent som kör något.

• Lagrade autentiseringsuppgifter för integrationer: plattformen lagrar autentiseringsuppgifter för de externa system som dess agenter och verktygsservrar ansluter till, och bulletinen uppger att dessa var läsbara.

• IAM-rollpolicyer på hanterade agentroller: rådgivningen beskriver hur IAM-rollpolicyerna som är kopplade till de roller som Loom hanterar åt sina agenter skrivs om, vilket är steget som omvandlar kontrollen över orkestreringslagret till kontroll över vad agenterna kan göra i AWS-kontot.

• Allt annat som plattformen hanterar: agenter, minnen, auktoriserare och säkerhetskonfiguration, inställningar – och att anropa vilken agent som helst som driftsättningen kör.

De fyra punkterna är säkerhetsmeddelandets egen lista över vad fullständig administrativ åtkomst når, inte en rekonstruktion. Ingen exploatering påstås ha använt någon av dem.

Etablerad, och inte etablerad

Fastställt. Sårbarheten existerade och är dokumenterad i överenskomna primärkällor: AWS:s säkerhetsbulletin 2026-124-AWS från den 2 oktober 2026, GitHub-rådgivningen GHSA-vgmj-998f-r8mp som publicerades samma dag, och NVD:s post för CVE-2026-103956. De påverkade versionerna (före 1.6.1), CVSS-poängen, CWE-mappningarna, rättningsversionen och erkännandet stämmer överens mellan dem. Arkivposten för denna incident är graderad till konfidens A, inte ifrågasatt, och anger real_harm som false.

Postens egna fält anger att avslöjandet ägde rum den 2 oktober 2026, med dags precision, och beskriver ett offentligt proof-of-concept-påstående som overifierat; varken bulletinen eller rådgivningen innehåller bevis för en attack. NVD:s offentliga post för CVE-2026-103956 listar CISA:s katalog över kända utnyttjade sårbarheter som tom för denna CVE, och arkivposten anger real_harm som false. Så: en sårbarhet som en oautentiserad nätverksklient skulle kunna använda, utan bevis i källorna för att någon gjorde det.

HTML card titled 'What the record establishes — and what it does not', kicked 'Record 2026-10-02-loom-aws-agent-control-plane-cve-2026-103956' and subtitled with the source list: AWS Security Bulletin 2026-124-AWS, GHSA-vgmj-998f-r8mp and the NVD record, all published 2 October 2026, with the archive classification confidence A, not disputed, real harm recorded as false. Two columns run side by side. The left column, headed 'Established' in cyan, lists six items: CVSS 10.0 critical under both CVSS 3.1 (AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H) and CVSS 4.0; CWE-306 and CWE-1188 — missing authentication for a critical function and insecure default initialization of a resource; affected versions before 1.6.1, where the auth dependency returned a fixed super-admin identity when no Cognito pool or external identity provider was configured; reach by any network client that could reach the backend, including registering tool servers, reading stored integration credentials and rewriting IAM role policies on managed agent roles; fixed in Loom 1.6.1, released 4 August 2026, about two months before the bulletin named the CVE; and credit to Kenneth Cox through coordinated disclosure. The right column, headed 'Not established' in amber, lists six items: no confirmed exploitation in the wild, with the AWS bulletin and the GitHub advisory both silent on attacks; a public proof-of-concept claim that is unverified in the record and could not be corroborated from the cited sources; no CISA KEV entry for CVE-2026-103956 in the NVD record; no statement about whether the fixed release is deployed across the installed base of forks and derivative code; no estimate of exposed deployments, since nothing in the cited sources says how many Loom instances ran IdP-less and network-reachable; and the note that severity measures what the flaw allowed, not what happened, with no harm recorded for this entry. A footer reads 'Facts as published by AWS (Security Bulletin 2026-124-AWS), the Loom maintainers (GHSA-vgmj-998f-r8mp) and NVD. Card rendered by OrcaRouter.' The OrcaRouter logo is composited in the bottom-right corner.

Även värt att hålla isär. CVSS 10,0 mäter vad sårbarheten skulle möjliggöra, inte vad den gjorde. En 10,0 utan utnyttjande och utan dokumenterad skada är en nära miss, och arkivet registrerar den så.

Fixen, och tvåmånadersglappet innan den namngavs

AWS åtgärdade problemet i Loom 1.6.1, som släpptes den 4 augusti 2026. Det datumet spelar roll: utgåvan kom ungefär två månader före bulletinen och CVE-numret fanns offentligt. Versionsanteckningarna för v1.6.1 beskriver ändringen utan att nämna någon CVE – autentiseringskringgåendet kräver nu ett uttryckligt opt-in plus en loopback-klient och fallerar annars stängt med en 401 – så sårbarhetens allvarlighetsgrad och dess beteckning var bara synliga för Loom-användare som följde trackerarna, inte för någon som enbart läste versionsanteckningarna. Samma utgåva lade till SSRF-härdning för OAuth-upptäcktshämtningar.

HTML card titled 'Two months between the fix and the name', kicked 'CVE-2026-103956' and subtitled with the point: the code was patched in August, but nothing in the 1.6.1 release notes pointed a Loom operator at a CVSS 10.0 authentication bypass. Four dated rows run down a vertical timeline. 4 August 2026: Loom 1.6.1 ships the fix, and the release notes describe the change without naming a CVE, with the local-dev no-IdP bypass now requiring an explicit opt-in plus a loopback client and otherwise failing closed with a 401; the same release adds SSRF hardening for OAuth discovery. 4 August to 2 October 2026: roughly two months of unstated severity, with the patch public and the defect gone but the CVE number and the 10.0 score not yet existing, so a Loom user reading release notes alone sees a security hardening rather than a critical advisory with a remediation deadline. 2 October 2026, 12:00 PM PDT: AWS Security Bulletin 2026-124-AWS is published, naming CVE-2026-103956 for Loom before 1.6.1 alongside CVE-2026-103957 and CVE-2026-103958, both fixed in 1.7.0, and CVE-2026-104019 in Amazon SageMaker Unified Studio. 2 October 2026: the GitHub advisory and the NVD record follow, with GHSA-vgmj-998f-r8mp published the same day and NVD publishing CVE-2026-103956 with CVSS 3.1 and CVSS 4.0 base scores of 10.0, critical. A footer reads 'Dates as published by the Loom 1.6.1 release notes, AWS Security Bulletin 2026-124-AWS, GHSA-vgmj-998f-r8mp and the NVD record. The cited sources do not state the release date of Loom 1.7.0. Card rendered by OrcaRouter.' The OrcaRouter logo is composited in the bottom-right corner.

För distributioner som redan är exponerade är AWS:s vägledning före uppgradering att ha en Amazon Cognito-användarpool eller en aktiv extern identitetsleverantör fullt konfigurerad innan backend är nåbar utanför loopback, att bekräfta att LOOM_ALLOW_UNAUTHENTICATED_LOCAL_DEV inte är inställd utanför lokal utveckling, och att begränsa nätverks- eller säkerhetsgruppsåtkomst till backend under tiden. I bulletinen står det uttryckligen att nätverksbegränsning minskar sannolikheten för oavsedd åtkomst men inte löser problemet utan uppgraderingen, och att forks och härledd kod också behöver patchas.

Samma bulletin, olika brister

Postens sammanfattning noterar att 2026-124-AWS inte bara handlar om denna CVE. Ytterligare två Loom-problem avslöjades samma dag och åtgärdades i Loom 1.7.0: CVE-2026-103957, en SSRF i hanteringen av OAuth2-upptäckt som kunde skicka OAuth2-klienthemligheter eller en annan användares åtkomsttoken till en angriparkontrollerad slutpunkt (CVSS 3.1 6,2, CVSS 4.0 8,2), och CVE-2026-103958, en SSRF i hanteringen av anslutningar för verktygsservrar och fjärragenter som kunde nå godtyckliga interna adresser, inklusive containerns slutpunkt för utlämning av autentiseringsuppgifter, och läsa svaren (CVSS 3.1 7,6, CVSS 4.0 8,3). Båda krävde en autentiserad användare med behörighetsomfånget mcp:write eller a2a:write. Bulletinen täcker även CVE-2026-104019, en OS-kommandoinjektion i startvalideringsskriptet för Studio Space som används av Amazon SageMaker Unified Studio, med betyget 9,0 kritiskt enligt CVSS 3.1, vilket AWS säger sig ha åtgärdat på serversidan med en global saneringsändring som tillämpas vid nästa omstart av Space.

Efter uppgraderingen uppmanar AWS operatörer att rotera OAuth2-klienthemligheter för MCP- och A2A-integrationer, återkalla och utfärda nya token som var aktiva under det påverkade fönstret, och – om containerrollens autentiseringsuppgifter nåddes – rotera IAM-rollens sessionsautentiseringsuppgifter och granska CloudTrail.

Varför denna post finns i arkivet

Abstract technical illustration on a dark navy field: three stacked horizontal layers. The top layer is a loose cluster of small abstract agent glyphs. Thin filaments run down from them into the middle layer, a clearly bounded cyan-outlined slab containing three small icons — two overlapping identity discs, a rectangular socket representing a tool registration, and a padlock on a folded document representing a policy. Every filament passes through those three icons. A single thick bundle leaves the middle slab and fans out across the bottom layer, a wide plain of large rectangular blocks. On the right edge of the middle slab, a short section of its outline is drawn as a dashed amber line, marking a boundary that is not intact. No text, people or organisation logos appear. The OrcaRouter logo is composited in the bottom-right corner.

CVE-2026-103956 är registrerad som en sårbarhet, inte en incident: upptäckt, inte nödvändigtvis utnyttjad, INFRA och CRED, GLOBAL, hög allvarlighetsgrad, hög tillförlitlighet. Dess värde i postmängden är som ett gränsfall för hela kategorin av agentkontrollplan. Looms uppgift är att hålla identiteterna, verktygsserverregistreringarna tillsammans med deras integrationsautentiseringsuppgifter, och IAM-principerna som avgör vad agenter får röra vid — lagret som kopplar en agentplattform till det molnkonto den lever i. En saknad kontroll i det lagret försämrar inte en agent; den överför egendomen. En systerpost i arkivet, AgentCorruption-avslöjandet den 8 oktober 2026 mot Amazon Bedrock AgentCore, beskriver hur samma lager nås via en annan väg, en SSRF-kedja från en enda utåtriktad agent.

Arkivet listar varje dokumenterad agentincident som det innehåller, var och en med sina egna källor, allvarlighetsgrad, konfidensgrad och omstridd-markering, vid sidan av den här. Den här artikeln handlar om en enda post i den uppsättningen, och det är i posten som den fullständiga klassificeringen fält för fält finns.

Detta är en post, undersökt och rapporterad av andra och här citerad med hänvisning till dem. Looms eget lager – identiteter, registreringar av verktygsservrar och de IAM-principer som avgör vad agenter får komma åt – är det lager som syskonposterna i AI-incidentarkivet också når, och var och en av dessa poster bär sina egna källor, allvarlighetsgrad, konfidensgrad och flagga för omstridd status.