在深藏青色背景上的抽象技術插圖:一道寬闊的半透明邊界圍住一排小型極簡伺服器面板;一支未標示的請求箭頭從左側進入邊界,旁邊沒有憑證權杖,而當它穿過邊界線時,箭頭會轉為琥珀色,接著分支成許多細青色線條,延伸到內部的每個面板,包括一個繪有鑰匙孔、代表憑證保存庫的小立方體。在其下方,另一支相同大小的箭頭被一條短實心白條擋在邊界處。圖中沒有出現任何文字、人物或組織標誌。OrcaRouter 標誌合成於右下角。
AI Safety Incidents

Loom for AWS 讓每個未經身分驗證的請求都取得超級管理員權限 — CVE-2026-103956

作者

Gideon Frost

發佈日期

最新模型 · 20查看全部模型 →
基準測試:Artificial Analysis · 每日更新
返回全部文章

2026 年 10 月 2 日,AWS 發布安全性公告 2026-124-AWS,揭露CVE-2026-103956存在於Loom for AWS,這是 AWS Labs 的開源平台,用於在Amazon Bedrock AgentCore Runtime上建置、部署及管理 AI 代理。在未設定任何身分提供者的部署環境中,後端的身分驗證相依元件會將固定的超級管理員身分授予每個傳入請求——包括完全未帶有 Authorization 標頭的請求。能夠觸及後端的遠端用戶端可以註冊工具伺服器、讀取已儲存的整合憑證,以及改寫附加至受管理代理角色的 IAM 角色政策:在零驗證的情況下,完全掌控代理控制平面。NVD 在 CVSS 3.1 與 CVSS 4.0 下皆將此漏洞評為 10.0 分,屬重大等級。此發現的功勞歸於 Kenneth Cox,其透過協調式揭露流程進行。該公告描述此漏洞可能允許什麼;並未描述任何人實際利用它做了什麼。

身分驗證相依性實際上在做什麼

該缺陷存在於後端的驗證相依元件中。根據 GitHub 安全公告 GHSA-vgmj-998f-r8mp,後端驗證相依元件中的程式碼路徑——也就是 get_current_user 這個 Loom 後端中的函式——會傳回硬式編碼的管理員身分,也就是 g-admins-super 群組中的超級管理員帳號,每當不存在 Amazon Cognito 使用者集區,且沒有作用中的外部身分提供者時,就會如此。它未檢查呼叫端是否提供了權杖。它未進入拒絕流程。它仍傳回了管理員身分。

AWS 公告也以相同方式描述其後果:該漏洞讓任何網路用戶端取得對代理程式控制平面的完整管理權限。CVE-2026-103 被對應至 CWE-306(關鍵功能缺少驗證)以及 CWE-118(資源的不安全預設初始化)。NVD 的 CVSS 3.1 向量為 AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H — 可從網路觸達、低複雜度、無需權限、無需使用者互動、範圍已變更,對機密性、完整性與可用性造成完整影響。

重要的定調——也是解釋為何一個 CVSS 10.0 會落到一個小型開源專案上的部分——在於無 IdP 的部署並不罕見。一個全新安裝、尚未接上 Cognito 的 Loom 正好處於這種狀態;身分提供者組態從未設定、或已停止解析的部署也是如此。該公告將此視為一種常見情況,而不是操作人員非得自己招來的組態錯誤。

未經驗證的用戶端所能觸及的內容

• Agent 註冊與工具伺服器:用戶端可以註冊或變更代理程式獲准呼叫的工具伺服器,而在工具呼叫架構中,這正是會讀取票證的代理程式與會執行某些操作的代理程式之間的差異。

• 儲存的整合憑證:該平台會為其代理和工具伺服器所連接的外部系統儲存憑證,而公告指出這些憑證是可讀取的。

• 受管理代理角色上的 IAM 角色政策:該公告說明要改寫附加至 Loom 為其代理所管理之角色的 IAM 角色政策,而這一步會將對協調層的控制轉變為對代理能在 AWS 帳戶內執行哪些操作的控制。

• 平台管理的其他一切:代理程式、記憶、授權器與安全性組態、設定——以及叫用部署所執行的任何代理程式。

那四個項目是該公告本身所列、完整管理權限可觸及的範圍,而非一項重建。並未聲稱有任何漏洞利用曾使用其中任何一項。

已建立,以及未建立

已確認。該漏洞確實存在,並已記載於雙方議定的主要來源中:AWS 於 2026 年 10 月 2 日發布的安全性公告 2026-124-AWS、同日發布的 GitHub 安全公告 GHSA-vgmj-998f-r8mp,以及 NVD 的 CVE-2026-103956 紀錄。受影響的版本(1.6.1 之前)、CVSS 評分、CWE 對應、修補版本與致謝對象在這些來源之間均一致。此事件的存檔紀錄評定為信心等級 A,並無爭議,且 real_harm 為 false。

記錄本身的欄位將揭露日期定為 2026 年 10 月 2 日,精確到日,並將一項公開的概念驗證宣稱描述為未經驗證;無論是公告還是警示,都沒有攻擊的證據。NVD 針對 CVE-2026-103956 的公開紀錄列出 CISA 的已知遭利用清單在此 CVE 上為空,而封存紀錄則將 real_harm 列為 false。所以:這是一個未經身分驗證的網路用戶端可能利用的漏洞,且來源中沒有證據顯示有人這麼做。

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.

同樣值得區分。CVSS 10.0 衡量的是該漏洞可能允許什麼,而不是它實際做了什麼。一個未被利用、也沒有任何損害紀錄的 10.0 屬於險些釀成傷害的事件,而檔案庫就是這樣歸檔的。

修復方案,以及它被命名前長達兩個月的空窗期

AWS 已於 Loom 1.6.1 中修復此問題,該版本於 2026 年 8 月 4 日發布。這個日期很重要:該版本發布的時間大約比公告早了兩個月,而當時該 CVE 編號已公開存在。v1.6.1 的版本說明描述了這項變更,卻未提及任何 CVE——如今驗證繞過必須明確選擇啟用,並搭配回送(loopback)用戶端,否則便會以 401 預設拒絕(fail closed)——因此,這項漏洞的嚴重程度及其編號,只有持續追蹤相關追蹤資訊的 Loom 使用者才看得見,單看版本說明的人則無從得知。同一版本也為 OAuth 探索擷取新增了 SSRF 強化措施。

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.

對於已曝露的部署,AWS 的升級前指引是:在後端可於 loopback 以外被存取之前,先完整設定 Amazon Cognito 使用者集區或作用中的外部身分提供者,並確認 LOOM_ALLOW_UNAUTHENTICATED_LOCAL_DEV在本機開發環境之外未設定,且在此期間限制對後端的網路或安全性群組存取。該公告明確指出,網路限制可降低非預期存取的機率,但若不進行升級,仍無法解決此問題,且分支與衍生程式碼也同樣需要修補。

相同的公告,不同的瑕疵

該記錄的摘要指出,2026-124-AWS 不僅僅與此 CVE 有關。同日還揭露了另外兩個 Loom 問題,並已在 Loom 1.7.0 中修復:CVE-2026-103957,這是 OAuth2 探索處理中的一個 SSRF,可能將 OAuth2 用戶端密鑰或另一位使用者的存取權杖傳送至攻擊者控制的端點(CVSS 3.1 6.2,CVSS 4.0 8.2);以及 CVE-2026-103958,這是工具伺服器與遠端代理程式連線處理中的一個 SSRF,可能觸及任意內部位址,包括容器的憑證發放端點,並讀取回應(CVSS 3.1 7.6,CVSS 4.0 8.3)。兩者皆需要持有 mcp:write 或 a2a:write 範圍的已驗證使用者。該公告亦涵蓋 CVE-2026-104019,這是 Amazon SageMaker Unified Studio 所使用的 Studio Space 啟動驗證指令碼中的一個作業系統命令注入漏洞,在 CVSS 3.1 下評分為 9.0 重大等級;AWS 表示已透過在下次 Space 重新啟動時套用的全域清理變更,於伺服器端修復該問題。

升級後,AWS 要求操作人員輪替 MCP 與 A2A 整合的 OAuth2 用戶端密鑰、撤銷並重新簽發在受影響期間內曾處於作用中的權杖,而且——若容器角色憑證已遭觸及——輪替 IAM 角色的工作階段憑證並檢閱 CloudTrail。

為什麼這筆記錄會在檔案庫裡

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 被登錄為一項弱點,而非事件:已發現,但不必然已被利用,INFRA 與 CRED,GLOBAL,高嚴重性,高信心。它在紀錄集中的價值,在於作為整個代理控制平面類別的邊界案例。Loom 的職責是持有身分、工具伺服器註冊及其整合憑證,以及決定代理可觸及範圍的 IAM 政策——也就是連接代理平台與其所在雲端帳戶的那一層。該層缺少檢查並不會使代理降級;而是會轉移整個資產。檔案中的一筆同類紀錄,即 2026 年 10 月 8 日針對 Amazon Bedrock AgentCore 的 AgentCorruption 揭露,描述了同一層被另一條路徑觸及:來自一個公開面向代理的 SSRF 鏈。

該檔案庫列出了它所收錄的每一宗有紀錄的探員事件,每一宗都各自附有來源、嚴重程度、可信度等級與爭議旗標,並與這一宗並列。本文談的是該集合中的單一紀錄,而完整逐欄分類就存在於這筆紀錄之中。

這是一筆記錄,由他人研究與報導,並在此引用歸功於他們。Loom 自身的層級——身分、工具伺服器註冊,以及決定代理程式可觸及哪些項目的 IAM 政策——正是同類條目在AI 事件檔案中亦會觸及的層級,而這些記錄各自帶有自己的來源、嚴重性、信心等級與爭議標記。