Chainlit alerta: duas falhas críticas permitem ler arquivos e provocar SSRF para comprometer ambientes na nuvem

Publicada 6 min de lectura 164 leituras

Chainlit, uma ferramenta de código aberto muito utilizada para montar interfaces conversacionais e orquestrar componentes de IA, tem sido o foco de um alerta de segurança que deveria ligar os alarmes em organizações que a têm exposta à Internet. Pesquisadores do Zafran Labs identificaram duas falhas de alta gravidade que, combinadas, permitem ler qualquer arquivo acessível pelo servidor até forçar petições salientes para sondear redes internas, o que abre a porta para vazamentos de segredos e movimentos laterais em ambientes na nuvem. Você pode ler o relatório técnico dos descubridores na publicação do Zafran Labs: ChainLeak — Zafran Labs.

Antes de entrar em detalhes técnicos, convém colocar em contexto a magnitude do problema: Chainlit é um projeto com um uso notável em Python, acumulando em torno de 700.000 downloads mensais em PyPI, e encontram-se frequentemente em implantaçãos de empresas e ambientes acadêmicos que expõem interfaces de chat a usuários ou integram assistentes em fluxos produtivos. Sua natureza como "frontend + backend" para chatbots e sua integração com autenticação, sessões e implantação na nuvem o convertem em um vetor atrativo quando está mal configurado ou vulnerável.

Chainlit alerta: duas falhas críticas permitem ler arquivos e provocar SSRF para comprometer ambientes na nuvem
Imagem gerada com IA.

Os dois erros assinalados receberam identificadores oficiais na base de vulnerabilidades do NIST: o primeiro, uma leitura arbitrária de arquivos, figura como CVE-2026-22218, e o segundo, uma vulnerabilidade do tipo SSRF que permite forçar o servidor a fazer pedidos de URLs controlados pelo atacante, aparece como CVE-2026-22219.

Em termos práticos, o CVE-2026-22218 é explorado através de um ponto de extensão para elementos personalizados que o Chainlit expõe na rota /project/element: um atacante pode enviar um elemento com um campo 'path' manipulado e provocar que o servidor copie o arquivo dessa rota para a sessão do atacante, sem que o conteúdo passe por verificações suficientes. O efeito é que um ator malicioso pode ler arquivos aos quais o processo de Chainlit tenha acesso, incluindo chaves de API, credenciais de contas na nuvem, código fonte, arquivos de configuração, bases de dados SQLite locais e segredos de autenticação.

Por sua vez, CVE-2026-22219 afeta instalações que usam a camada de dados baseada em SQLAlchemy. Aí o mecanismo permite que um elemento personalizado inclua um campo ‘url’ e obrigue o servidor a fazer um pedido GET para esse endereço e armazena a resposta. Esta capacidade de fazer petições salientes traduz-se em uma SSRF clássica: desde enumerar e consultar serviços internos e metadados da nuvem até trazer respostas que depois podem ser obtidas pelo atacante desde endpoints de elementos.

O mais preocupante demonstrado pelo Zafran Labs é que ambas as falhas podem ser encadeadas: a SSRF permite, por exemplo, aceder a metadados da infraestrutura ou a endpoints internos que devolvem credenciais, enquanto a leitura arbitrária pode extrair arquivos críticos uma vez que o atacante tem escalado informações. Em sua demonstração, os pesquisadores descrevem um fluxo que culmina em comprometimento completo e movimentos laterais em ambientes na nuvem, um cenário crítico para qualquer organização que dependa de identidades e segredos para a orquestração de recursos.

Os descubridores informaram os mantenedores do Chainlit em 23 de novembro de 2025 e obtiveram resposta em 9 de dezembro de 2025; as correções foram publicadas em 24 de dezembro de 2025 na versão 2.9.4. Desde então, o ramo continuou a receber manutenção e a versão estável mais recente é a 2.9.6. A recomendação imediata e prioritária para equipamentos afetados é atualizar a 2.9.4 ou, preferencialmente, à versão mais recente disponível.

Se por restrições de compatibilidade não for possível aplicar o adesivo de imediato, existem medidas compensatórias que reduzem o risco: executar instâncias de Chainlit com permissões de ficheiros rigorosos e contas de serviço de confiança mínima, bloquear o tráfego cessante dos contentores ou máquinas que alojam o Chainlit através de regras de rede ou proxys de saída, proteger endpoints com autenticação forte e WAF, desactivar ou restringir a funcionalidade que permite subir ou registrar elementos personalizados, e auditar acessos e logs em busca de padrões anormais. Também é crucial rotar chaves e segredos que poderiam ter sido expostos e revisar os sistemas internos que possam ser consultados por SSRF.

Além de mitigações imediatas, este incidente destaca lições de segurança que são aplicáveis a qualquer plataforma que exponha interfaces para executar ou processar conteúdo enviado por usuários. Validação estrita de entradas, princípios de mínimo privilégio e controlos de egress (saída de rede) Devem ser parte da arquitetura quando se desenvolve software que suporta extensões ou elementos definidos por terceiros. Além disso, incorporar testes de segurança dinâmicos e revisões de código para pontos que tratam de rotas de ficheiros ou fetching de URL ajuda a identificar classes de erros semelhantes antes de serem produzidos.

Chainlit alerta: duas falhas críticas permitem ler arquivos e provocar SSRF para comprometer ambientes na nuvem
Imagem gerada com IA.

Para os equipamentos de resposta a incidentes, convém gerar indicadores de compromisso relacionados com as rotas e endpoints mencionados, rever logs de acesso a /project/element e outros endpoints de elementos, verificar se foram transferidos arquivos sensíveis e auditar tráfego saliente incomum a partir das instâncias afetadas. Se se detectar atividade suspeita, o prudente é isolar a instância, capturar memória e sistema de arquivos para análise e proceder à rotação de credenciais com possível impacto em serviços dependentes.

A comunidade de segurança e os responsáveis por plataformas na nuvem devem tomar nota de como componentes de infraestrutura "amigíveis" para desenvolvedores, como frameworks para chat de IA, podem se tornar vetores críticos se não se isolarem adequadamente. Nesse sentido, é útil revisar guias e boas práticas sobre mitigação de SSRF e proteção de segredos: recursos como as páginas de CVE e relatórios técnicos contribuem contexto verificável, por exemplo na entrada da NVD sobre essas vulnerabilidades e na nota técnica de Zafran Labs já mencionada.

Finalmente, para quem emplee Chainlit em produção, o caminho é claro: atualizar o quanto antes da versão alterada, verificar se houve exposição potencial, rotar segredos e endurecer controles de rede e permissões. A velocidade em aplicar estes passos reduz significativamente a janela de exposição contra atacantes que poderiam explorar falhas já conhecidas e documentadas. Manter um inventário atualizado de software exposto e suas dependências, e subscrever um processo de notificação precoce a manutenção e equipamentos internos, ajudará a enfrentar futuras vulnerabilidades com menos impacto.

Cobertura

Relacionadas

Mas notícias do mesmo assunto.