Ilustração técnica abstrata sobre um fundo cinza-quente pálido: um painel de configuração largo em tom quase branco, com tênues fileiras de campos pautadas, situa-se à esquerda do centro, e um pequeno token de fechadura redondo em ciano sai da sua borda superior ao longo de uma fina linha ciano em direção a um bloco de servidor achatado em ardósia à direita. Abaixo do painel, um campo escuro arredondado contém um par de colchetes angulares âmbar finos, e uma segunda linha fina âmbar corre dali até a borda inferior desse mesmo bloco; um pequeno quadrado âmbar marca a junção onde os dois caminhos se encontram. Um segundo bloco de servidor mais apagado fica atrás do primeiro. Geometria vetorial plana com sombras suaves e margens generosas; nenhum texto, letra, número, pessoa ou logotipo de organização aparece em lugar algum. O logotipo OrcaRouter é composto no canto inferior direito de uma faixa branca abaixo da ilustração.
AI Safety Incidents

CVE-2026-9198: o Langflow gerava tokens de superusuário para qualquer pessoa e depois executava o que fosse enviado

Autor

Rowan Sterling

Data de publicação

Modelos mais recentes · 20Ver todos os modelos →
Benchmarks: Artificial Analysis · atualizado diariamente
Voltar para todas as publicações

O boletim da IBM para a CVE-2026-9198 descreve uma tomada de controle do Langflow OSS em duas requisições: uma chamada ao endpoint de login automático da plataforma devolve um token de portador de superusuário a quem quer que o peça, e uma segunda chamada envia código Python ao endpoint de validação de código, que o executa. O fornecedor registra as duas metades da cadeia sob identificadores distintos — CVE-2026-9103 para a autenticação ausente, CVE-2026-8481 para a execução — e classifica a combinação como 9,8 no CVSS 3.1, alcançável pela rede sem privilégios e sem interação do usuário. As implantações padrão nas versões 1.0.0 a 1.10.0 são afetadas; a correção é a 1.10.1, e a IBM não lista nenhuma solução alternativa. A Agência de Segurança Cibernética e Infraestrutura dos Estados Unidos incluiu a CVE em seu catálogo de Vulnerabilidades Conhecidas como Exploradas em 4 de agosto de 2026, com prazo federal de correção em 7 de agosto. O registro, suas tags de severidade e dano, e as entradas arquivadas em torno dele ficam no Arquivo de Incidentes da Orca AI, que lista este incidente ao lado do restante da série.

A cadeia, em três boletins da IBM

A IBM publica esta falha em três documentos em vez de um, e é lê-los em conjunto que torna o mecanismo legível. Toda a cadeia é CVE-2026-9198, um problema de injeção de código no âmbito do CWE-94, pontuado com 9,8 e com o vetor AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H — acessível pela rede, baixa complexidade, sem privilégios, sem interação do usuário e alto impacto na confidencialidade, integridade e disponibilidade. Sua primeira metade, CVE-2026-9103, é falta de autenticação para uma função crítica no âmbito do CWE-306, também com 9,8. Sua segunda metade, CVE-2026-8481, é novamente CWE-94, mas com pontuação 9,9: AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H, baixos privilégios em vez de nenhum, e escopo alterado.

A dark HTML card titled 'Three identifiers, one chain', kicker 'IBM Langflow OSS, 1.0.0 to 1.10.0', subtitle 'Bulletin identifiers, CWEs and CVSS 3.1 base scores, taken from the three IBM support pages cited in the article'. Three rows, each naming a CVE at left: CVE-2026-9103, missing authentication in the auto-login endpoint, CWE-306, scoring 9.8 with the metrics PR:N, UI:N, S:U, and a note that it issues a SUPERUSER bearer token valid for 365 days when AUTO_LOGIN is enabled, which is the default. CVE-2026-8481, remote code execution in the code-validation endpoint, CWE-94, scoring 9.9 with the metrics PR:L, UI:N, S:C, and a note that it passes submitted Python to exec and is scored with low privileges because the endpoint expects a session. CVE-2026-9198, the chain of the two filed as one vulnerability, CWE-94, scoring 9.8 with the metrics PR:N, UI:N, S:U, and a note that the no-privileges metric comes from the first half and the execution from the second. Two rules below read 'The execution half alone required a session. The missing authentication supplied one.' and 'Neither half is scored 9.8 with no privileges. Only the chain is.' A footer credits IBM as the CVSS source for all three and says the card was rendered by OrcaRouter with no vendor logos. The OrcaRouter logo is composited in the bottom-right corner.

O 9,9 é a parte honesta da aritmética. O endpoint de validação de código nunca esteve aberto a estranhos por si só — a IBM o descreve como uma falha que permitia que "qualquer usuário autenticado executasse comandos arbitrários do sistema com todos os privilégios do processo do servidor Langflow". O que torna a cadeia não autenticada é a primeira metade: o endpoint de login automático, que, segundo a IBM, "emite tokens bearer de superusuário de longa duração sem exigir autenticação quando a configuração AUTO_LOGIN está habilitada (habilitada por padrão)". O boletim acrescenta que os tokens têm uma vida útil de 365 dias, e registra um segundo caminho de exposição que recebe menos atenção — configurações padrão permissivas de compartilhamento de recursos entre origens que permitem origens curinga com credenciais, o que a IBM diz que "poderia possibilitar o roubo de tokens por drive-by de sites arbitrários".

A metade da execução é a parte sobre a qual vale a pena refletir. O resumo da IBM afirma que o validador "compilou e executou código enviado pelo usuário, incluindo avaliações no momento da definição de funções, como argumentos padrão e decoradores," e que, portanto, um atacante poderia contrabandear uma expressão executável para um parâmetro padrão ou um decorador. Isso não é força de expressão sobre código inseguro: um decorador é avaliado quando o def que o envolve é construído, então uma solicitação cujo único propósito declarado é verificar a sintaxe de uma função ainda executa tudo o que estiver anexado a ela. O próprio aviso encadeado da IBM diz isso em uma única cláusula — validação e execução eram a mesma operação. A correção registrada no boletim CVE-2026-8481 foi "remover a execução de código do caminho de validação e realizar apenas verificações de compilação".

A dark HTML card titled 'Two requests, two endpoints', kicker 'CVE-2026-9198, exploit chain', subtitle 'Paths as written in IBM bulletin 7278927; the chain needs no credentials, no user action and no reconnaissance'. Two panels joined by a cyan arrow. REQUEST 1 shows a POST to /api/v1/auto_login with the note that no credentials are supplied and none required and that the response carries a SUPERUSER bearer token with a 365-day lifetime, plus a smaller note that the CVE-2026-9103 bulletin writes this path as /api/v1/login/auto_login. REQUEST 2 shows a POST to /api/v1/validate/code with the token and a Python payload, calling exec with the privileges of the Langflow service process, and a note that the CVE-2026-8481 score is 9.9 with S:C and PR:L. A four-part strip below reads NO PRIVILEGES, vector PR:N; NO USER ACTION, vector UI:N; NO RECON NEEDED, only confirm it runs Langflow; and TWO HTTP CALLS, the whole chain. A closing panel headed 'Why validation was execution' quotes IBM's chained bulletin on default arguments and decorators evaluated at function-definition time, and states that a request whose stated job is to check syntax ran the attached code. A footer credits IBM bulletins 7278927 and 7278923 and says the card was rendered by OrcaRouter. The OrcaRouter logo is composited in the bottom-right corner.

Uma pequena discrepância vale a pena ser registada porque afeta a caça. O boletim encadeado escreve o endpoint de token como /api/v1/auto_login, e o mesmo fazem a Cloud Security Alliance e a Field Effect; o boletim separado da IBM sobre CVE-2026-9103 escreve-o como /api/v1/login/auto_login. Ambos os documentos da IBM descrevem o mesmo endpoint e nenhum está errado quanto ao comportamento. O caminho de execução está escrito de forma idêntica em todos os lugares: POST /api/v1/validate/code.

De onde vêm as datas

O arquivo data este registro como 6 de agosto de 2026. A entrada no catálogo da CISA, consultada em 30 de outubro de 2026, registra a adição como 4 de agosto de 2026 e define o prazo de correção para 7 de agosto. A cobertura em torno do caso situa-se dos dois lados da data do arquivo, e não nela mesma: a Field Effect publicou em 5 de agosto, e a cvetodo e a equipe nacional de resposta a emergências cibernéticas da Tailândia publicaram ambas em 7 de agosto. Uma listagem, o prazo que ela gera e os artigos escritos sobre ela são três eventos diferentes, portanto essas datas não se contradizem — mas a diferença de dois dias entre o campo do arquivo e o da CISA é o motivo para consultar o catálogo quando o dia exato importa.

A divulgação é mais difícil de precisar, e as fontes discordam genuinamente. A página de boletim da IBM para a CVE encadeada traz uma data de publicação inicial de 2 de julho de 2026 e uma data de modificação de 17 de agosto de 2026. A Field Effect data a divulgação da IBM em 2 de julho. A nota de pesquisa da Cloud Security Alliance de 18 de agosto situa a divulgação, e o lançamento da 1.10.1 juntamente com ela, em 17 de julho; a cvetodo diz o mesmo. Quinze dias separam as duas leituras e nenhum dos documentos é descuidado, então este artigo não escolhe entre elas. O que está estabelecido de qualquer maneira é que o patch foi publicado antes da listagem KEV, e que a 1.10.1 é a versão que o trouxe.

A dark HTML card titled 'What happened, and when it was written down', kicker 'CVE-2026-9198, five dates', subtitle 'Read from the IBM bulletin metadata and the CISA KEV catalog entry on 30 October 2026, with the source disagreement labelled rather than resolved'. Five rows: 2 July 2026, 'IBM bulletin published', the initial publication date on IBM support page 7278927, with Field Effect giving the same day as the disclosure date; 17 July 2026, 'The other reading of disclosure', highlighted in amber, the date the Cloud Security Alliance and cvetodo give for disclosure and the 1.10.1 release, fifteen days apart from 2 July; 4 August 2026, 'Added to CISA KEV catalog', the date the catalog entry records, with known ransomware use recorded as Unknown and forensic triage required under BOD 26-04; 7 August 2026, 'Federal remediation deadline', also the publication date of the ThaiCERT advisory and of cvetodo's coverage; and 6 August 2026, 'The archive's date for this record', two days after the catalog date and between the 5 August and 7 August coverage. Two rules below read 'Still unresolved in sources: disclosure on 2 July (IBM, Field Effect) or 17 July (Cloud Security Alliance, cvetodo). No tie-break found.' and 'Not in dispute: the patch preceded the KEV listing, and 1.10.1 is the release that carried it.' A footer notes that the catalog entry was read on 30 October 2026 and says the card was rendered by OrcaRouter. The OrcaRouter logo is composited in the bottom-right corner.

O que a entrada da CISA diz precisamente, nos seus próprios campos, é mais restrito do que o seu título. O produto encontra-se sob o fornecedor IBM com o produto Langflow; a falha é descrita como uma "que permite que atacantes não autenticados alcancem execução remota de código total em implantações padrão do Langflow"; o uso conhecido em campanhas de ransomware está registrado como Desconhecido; a triagem forense está marcada como obrigatória nos termos da BOD 26-04; e a ação exigida é aplicar mitigações em conformidade com as instruções do fornecedor, ou descontinuar o uso do produto onde as mitigações não estiverem disponíveis.

O registro de exploração

A listagem da CISA afirma que a falha foi explorada na natureza. A evidência pública por trás dessa afirmação é mais tênue do que o 9,8 sugere. Nem a IBM nem a CISA nomearam um ator de ameaça ou publicaram detalhes de uma campanha observada — a Field Effect afirma isso categoricamente, e nada nos três boletins da IBM ou na entrada KEV contradiz isso.

O que existe, em vez disso, é telemetria de fornecedor repassada de segunda mão. A nota da Cloud Security Alliance cita a KEVIntel para a alegação de que tentativas de exploração foram registradas começando "por volta de 6 de julho de 2026", semanas antes da divulgação, segundo o próprio cálculo da aliança, e de que, em meados de agosto, as tentativas acumuladas já tinham chegado às centenas, originando-se de várias centenas de endereços de internet únicos distribuídos por dezenas de países. Esses números vêm de uma única empresa de monitoramento e não aparecem em nenhuma outra fonte revisada para este artigo. Eles são relatados aqui, não corroborados.

A data de início merece uma segunda olhada. Se as tentativas realmente começaram por volta de 6 de julho, isso é quatro dias após a data do boletim que a página da IBM traz, e onze dias antes da data de 17 de julho dada por duas outras fontes. A telemetria, portanto, não confirma nem refuta nenhuma das duas datas de divulgação; a Cloud Security Alliance oferece ambas as explicações sem escolher, descrevendo a atividade inicial como descoberta independente por scanners oportunistas ou como vazamento de detalhes técnicos antes da divulgação coordenada.

O código de exploit público é a parte mais bem documentada. A Field Effect atribui a descrição pública da cadeia a “uma prova de conceito pública publicada em julho de 2026”, no repositório github.com/0xdak/CVE-2026-9198_exploit, e afirma que o código demonstra a obtenção de um token de superusuário por meio do endpoint de login automático e, em seguida, o uso desse token contra o endpoint de validação. A Field Effect não relaciona o autor desse repositório a qualquer exploração observada, e este artigo também não. Nenhuma fonte analisada relata também um roubo confirmado de credenciais de um host explorado: a descrição de coleta de credenciais que geralmente acompanha as falhas do Langflow é uma avaliação sobre o que tal host armazena, abordada abaixo, e não uma constatação sobre qualquer vítima nomeada neste registro.

Estabelecido, reportado e não estabelecido

• Estabelecido.Que o CVE-2026-9198 encadeia a ausência de autenticação no endpoint de login automático com a execução de código no endpoint de validação de código; que a IBM classifica a cadeia como 9.8 segundo o CWE-94 e as suas duas metades como 9.8 e 9.9; que as implantações padrão do Langflow OSS 1.0.0 a 1.10.0 são afetadas em Windows, macOS e Linux; que a 1.10.1 é a correção e a IBM não publica qualquer solução alternativa; e que a CISA adicionou o CVE ao catálogo KEV com um prazo federal de 7 de agosto de 2026. Os três boletins da IBM são os documentos principais e concordam entre si quanto ao mecanismo.

• Reafirmado de forma independente.O ThaiCERT reproduziu a mesma cadeia de dois endpoints, a mesma pontuação 9,8, o mesmo intervalo afetado e a mesma correção 1.10.1 em seu comunicado de 7 de agosto de 2026, e acrescentou um controle de rede que os boletins da IBM não incluem: manter a interface administrativa do Langflow fora da internet pública e acessá-la apenas por VPN ou por uma rigorosa lista de endereços permitidos. Isso é a corroboração de como o comunicado foi lido, por um órgão governamental sem interesse na redação do fornecedor — não uma descoberta independente da falha.

• Relatado, não corroborado. Todos os números de exploração: centenas de tentativas, várias centenas de endereços, dezenas de países, começando por volta de 6 de julho. São números de uma empresa de monitoramento, repassados por um órgão de pesquisa. A listagem da CISA confirma que houve exploração sem quantificá-la, e nenhuma segunda fonte de telemetria aparece no material revisado aqui.

• Não estabelecido. Nenhuma vítima nomeada e nenhum ator nomeado. Nenhuma atribuição a um Estado ou a um grupo criminoso. Nenhum número confirmado de quantas instâncias do Langflow estavam acessíveis a partir da internet — a cvetodo relatou em 7 de agosto que a IBM não havia respondido a perguntas sobre a escala da exploração — e nenhuma declaração de fornecedor que quantifique isso desde então. O arquivo classifica este registro com confiança A e não o marca como disputado, e nada revisado aqui o contesta; as lacunas são lacunas nas evidências públicas, não na afirmação de que a falha existe e foi usada.

• Deliberadamente excluído.O aviso do ThaiCERT também descreve a varredura automatizada direcionada por IA na mesma semana, mas o atribui a um produto diferente no mesmo lote da CISA, não ao Langflow. Não é evidência sobre este registro e não é usado aqui como tal.

O que mudou após a listagem

A correção do fornecedor é um aumento de versão e nada mais. A tabela de produtos afetados da IBM lista o Langflow OSS 1.0.0 até 1.10.0, aponta a 1.10.1 como a correção e coloca "None" no campo de workarounds — em todos os três boletins. O boletim da CVE-2026-8481 descreve a mudança: o validador deixou de executar e passou a compilar. O boletim da CVE-2026-9103, que trata da parte de login automático, não detalha sua correção com o mesmo nível de detalhe, e nenhum documento da IBM revisado aqui data o lançamento da 1.10.1.

As orientações de todos os outros vão mais longe do que as do fornecedor. A Cloud Security Alliance recomenda atualizar e então verificar em tempo de execução que o endpoint de login automático não emite mais tokens para chamadores não autenticados, em vez de confiar na string de versão — o motivo declarado é que patches anteriores do Langflow foram lançados com correções incompletas. Também recomenda definir explicitamente a configuração de ambiente LANGFLOW_AUTO_LOGIN como false, para que a plataforma exija credenciais reais em vez de criá-las, e tratar qualquer instância que tenha estado exposta à internet desde o início de julho como comprometida até uma revisão de logs, com rotação de credenciais para tudo a que a instância pudesse ter acesso: chaves de provedores de modelos, credenciais de banco de dados e chaves de serviços em nuvem. A ThaiCERT acrescenta a parte de rede — nenhuma interface administrativa na internet pública, apenas VPN ou lista de permissões. Ambas são recomendações dos pesquisadores. A IBM não publica nenhuma.

Há um crédito registado. O reconhecimento da IBM atribui o relatório a Harish Kolla, com o identificador do GitHub Har1sh-k. A Cloud Security Alliance, na sua nota de 18 de agosto, situa a CVE-2026-9198 como a quarta falha distinta do Langflow — não autenticada ou de contorno de autorização — a chegar ao catálogo da CISA em cerca de cinco meses, nomeando os três identificadores anteriores, e a sua leitura é que o padrão reflete uma remediação fragmentada e repetida de um único modelo de autenticação e execução de código, e não defeitos não relacionados. Esse enquadramento é a avaliação da aliança, apresentada numa nota de investigação; não é uma conclusão de um auditor independente, e nenhuma fonte aqui analisada regista uma resposta pública dos responsáveis pela manutenção a esse respeito.

O que a listagem KEV resolve e não resolve

O catálogo da CISA é uma afirmação de exploração observada, não um relatório de incidente, e esta entrada mantém essa forma. Ele diz que a falha foi usada; não diz contra quem, por quem ou com que frequência. O uso de ransomware é registrado como Desconhecido. Nada é quantificado. O que a listagem resolve é a única questão que uma pontuação de severidade não consegue: se a falha passou de uma prova de conceito funcional para uso real. Para organizações fora do alcance da BOD 26-04 — que é a maior parte do mundo — o prazo de 7 de agosto não traz obrigação, e o fato por trás dele tem o mesmo peso que teria se houvesse uma.

A Cloud Security Alliance tira do mesmo registro a conclusão operacional de que uma listagem no KEV é um sinal confiável de que a exploração já passou da fase de prova de conceito e de que, para essa falha, ela chegou cerca de um mês depois das primeiras tentativas registradas. Quem esperou o catálogo antes de fazer a triagem, nessa leitura, já estava respondendo a um incidente em vez de preveni-lo. Se isso descreve uma implantação específica é uma questão para os seus logs — o par de endpoints a procurar é o que a IBM documentou, e o registro não nomeia uma única vítima contra a qual testar a resposta.