flawopen.com/AI Security/cve-2026-103956-aws-loom-authentication-bypass
CVE-2026-103956: bypass de autenticação no AWS Loom
O CVE-2026-103956 afetava o Loom for AWS da AWS Labs antes da versão 1.6.1: sem um provedor de identidade configurado, qualquer cliente de rede podia receber autoridade de superadministrador. Atualize para 1.7.0 ou posterior para incluir esta falha e as correções relacionadas; a versão 1.6.1 já corrige este bypass de autenticação.[1], [5]
Um prédio deixa a recepção vazia, mas o software trata cada visitante como administrador-chefe. A correção faz a recepção negar a entrada se um provedor de identidade não estiver configurado; a exceção de desenvolvimento local exige uma opção explícita e uma conexão originada na própria máquina.[1], [4]
Conceitos Centrais e Termos
Provedor de identidade (IdP)- Sistema configurado para autenticar usuários do Loom. A condição vulnerável ocorria quando nem o Cognito nem um IdP externo estavam configurados.[1]
Plano de controle- Camada de administração e API que gerencia integrações de agentes, credenciais e políticas de funções.[1]
Falhar de forma segura- Quando falta o serviço de identidade obrigatório, negar a requisição em vez de conceder uma identidade privilegiada padrão.[4]
Mapeamentos de frameworks
Fluxo de Ataque Passo a Paso
Nenhum provedor de identidade está configurado
A condição afetada antes da versão 1.6.1 é específica: não há pool de usuários Cognito nem IdP externo.[1]
O fallback cria um usuário privilegiado
O caminho vulnerável get_current_user atribuía silenciosamente t-admin e g-admins-super, inclusive a requisições sem autenticação.[4]
A API concede autoridade no plano de controle
Um cliente com acesso podia agir como superadministrador, registrar servidores de ferramentas, ler credenciais de integração armazenadas ou alterar políticas IAM de funções anexadas a agentes gerenciados. Esse é o impacto descrito pelo fornecedor, não uma prova de comprometimento de uma instalação.[1]
Matriz de cobertura por versão do Loom
| Faixa de versões | Bypass de autenticação CVE-2026-103956 | Outros problemas do boletim de outubro da AWS | Ação para operadores |
|---|---|---|---|
| <1.6.1 | Afetado se Cognito e um IdP externo não estiverem configurados; um cliente de rede poderia receber acesso de superadministrador. | CVE-2026-103957 e CVE-2026-103958 são problemas distintos, também corrigidos na 1.7.0. | Atualize para 1.7.0 ou posterior. A 1.6.1 é apenas a correção mínima deste bypass. |
| 1.6.1–<1.7.0 | Corrigido. Sem IdP, as solicitações recebem 401, salvo se a opção de desenvolvimento local estiver ativa e o cliente for loopback. | A AWS lista os dois problemas relacionados como corrigidos na 1.7.0. | Atualize para 1.7.0 ou posterior para cobrir o boletim completo. |
| 1.7.0 ou posterior | Corrigido. | A AWS identifica a 1.7.0 como a versão que corrige os três problemas do boletim. | Mantenha Loom e forks em uma versão com suporte e confirme que as correções foram incorporadas. |
Análise de Causa Raiz
Quando nem o Cognito nem um provedor de identidade externo estavam configurados, o fallback da dependência de autenticação atribuía silenciosamente t-admin e g-admins-super, em vez de rejeitar a solicitação. A API então tratava esse fallback como uma identidade autenticada, permitindo que qualquer cliente de rede que alcançasse o backend recebesse autoridade de superadministrador no plano de controle. A correção passa a negar por padrão; a exceção para desenvolvimento local exige ativação explícita e um cliente loopback. O registro do CVE classifica a falha como CWE-306 (ausência de autenticação para função crítica) e CWE-1188 (inicialização com padrão inseguro).[1], [4], [7]
Código-Fonte: Vulnerável vs. Seguro
O trecho vulnerável resume a descrição do mantenedor de get_current_user: sem Cognito nem IdP externo, o caminho concedia silenciosamente t-admin / g-admins-super. A versão endurecida resume o comportamento incorporado upstream, não é uma transcrição literal: o desvio local exige a opção explícita e um cliente loopback; os demais pedidos falham com HTTP 401. Nota de implantação da FlawOpen: Em produção, confie em request.client somente quando o tratamento de proxy estiver configurado para impedir que cabeçalhos encaminhados não confiáveis declarem loopback. Atualize para 1.6.1 ou posterior para corrigir este CVE e para 1.7.0 ou posterior para cobrir o boletim completo de outubro de 2026. O exemplo não mostra requisições de exploração nem procedimentos para acessar credenciais.[4], [1]
# Fluxo de controle simplificado descrito para o caminho afetado get_current_user
if not cognito_pool and not external_idp:
return User(username="t-admin", groups=["g-admins-super"])
return await authenticate_with_configured_idp(token)
# Falhe de forma fechada, exceto se a exceção local estiver explícita e limitada a loopback.
if not cognito_pool and not external_idp:
opted_in = os.getenv("LOOM_ALLOW_UNAUTHENTICATED_LOCAL_DEV") == "true"
peer_is_local = request.client is not None and ipaddress.ip_address(
request.client.host
).is_loopback
if opted_in and peer_is_local:
return local_development_user()
raise HTTPException(status_code=401, detail="Identity provider is not configured")
return await authenticate_with_configured_idp(token)
Lista de Verificação de Segurança para Engenharia
- ✓Atualize o Loom para 1.7.0 ou posterior; 1.6.1 é a primeira versão que corrige
CVE-2026-103956, enquanto 1.7.0 é o alvo consolidado do boletim.[1], [2], [3] - ✓Confirme que Cognito ou um IdP externo está configurado antes de expor o backend além do loopback.[1]
- ✓Mantenha
LOOM_ALLOW_UNAUTHENTICATED_LOCAL_DEVdesativada em ambientes implantados; se for usada no desenvolvimento local, confirme que o cliente aceito é loopback e que um proxy não confiável não expõe o serviço. Verificação de implantação da FlawOpen: confie no sinal loopback somente após verificar o tratamento dos cabeçalhos do proxy.[1], [4] - ✓Análise da FlawOpen: após atualizar, revise os acessos e as alterações administrativas do período afetado. A AWS recomenda rotacionar os segredos de cliente OAuth2 configurados e revogar e reemitir os tokens de acesso que estavam ativos durante o período afetado. Se credenciais da função do contêiner tiverem sido acessadas, rotacione as credenciais de sessão da função IAM e revise o CloudTrail em busca de uso indevido.[1]
- ✓Trate
CVE-2026-103957eCVE-2026-103958como falhas distintas corrigidas na 1.7.0; restrinjamcp:writeea2a:writea administradores confiáveis até atualizar.[1], [3]
Fontes
- Boletim de segurança AWS 2026-124-AWS
- Notas da versão AWS Loom 1.6.1
- Notas da versão AWS Loom 1.7.0
- PR upstream #12: correção de autenticação com falha segura
- Registro NVD CVE-2026-103956
- MITRE CWE-306: ausência de autenticação para função crítica
- Registro do programa CVE — CVE-2026-103956
- MITRE CWE-1188 — inicialização de recurso com padrão inseguro