ProxyCommand: a pequena string que abre uma porta para exploits

ProxyCommand: a pequena string que abre uma porta para exploits

Antonio Piazzolla:13 Outubro 2025 08:04

Ontem, uma vulnerabilidade no OpenSSH, CVE-2025-61984, que potencialmente permite a execução de comandos no cliente quando Comando Proxy é usado com nomes de usuário contendo caracteres de controle (por exemplo, novas linhas).

Alguns fluxos de entrada OpenSSH não estavam removendo corretamente os caracteres de controle dos nomes de usuário. Um invasor pode explorar esse comportamento construindo um nome de usuário contendo, por exemplo, uma nova linha seguida por uma cadeia de caracteres que deve ser interpretada como um comando.

Quando esse nome de usuário é inserido na string invocada pelo ProxyCommand, alguns shells ignoram o erro de sintaxe introduzido pela nova linha e continuam a execução: a próxima linha pode ser executada como a carga útil. Essencialmente, uma pequena sequência de caracteres maliciosos, combinada com um shell permissivo e uma certa configuração SSH, pode resultar em um RCE.

Por que um submódulo Git é perigoso

O GIT pode ser insidioso porque explora ações comuns do desenvolvedor. Um repositório pode incluir um submódulo cujo URL SSH foi construído para conter um nome de usuário manipulado. Quando alguém executa: git clone –recursive

O Git também tenta recuperar submódulos via SSH, momento em que o cliente executa o ProxyCommand configurado localmente. Sob certas condições, toda a cadeia leva à execução da carga útil.

O exploit não é ativado “por si só”. Duas condições específicas deve ser atendido no sistema da vítima para que funcione:

  1. Concha permissiva: o shell invocado pelo ProxyCommand deve continuar a execução após um erro de sintaxe (comportamento típico de Bash, Fish, csh)
  2. ProxyCommand vulnerável: O arquivo ~/.ssh/config do usuário deve conter um ProxyCommand que inclua o token %r (o nome de usuário remoto) sem proteção adequada — por exemplo, %r não deve ser devidamente citado ou limpo.

Se ambas as condições forem atendidas, o nome de usuário manipulado poderá ser interpolado na cadeia de caracteres invocada pelo proxy e acionar comandos indesejados.

Implicações práticas

  • Desenvolvedores e sistemas automatizados que executam clonagem recursiva são um alvo suscetível porque o vetor explora operações de rotina.
  • Ferramentas que geram automaticamente ~/.ssh/config e inserem %r sem proteções amplificam o risco
  • A presença de prova de conceito pública torna a situação urgente: aumenta a probabilidade de alguém automatizar a exploração em grande escala.

PoCs públicos – o que eles mostram e por que você deve se importar (informações não acionáveis)

Nos últimos dias, têm circulado provas de conceito que explicam claramente a cadeia de ataque, mas sem fornecer instruções práticas para explorá-la. Essas PoCs demonstram o cenário típico: um nome de usuário contendo caracteres de controle é interpolado no ProxyCommand e um shell permissivo acaba executando a próxima linha. Muitos PoCs usam o exemplo do submódulo Git como demonstração porque destaca o risco da cadeia de suprimentos: um repositório comprometido pode alcançar facilmente desenvolvedores e pipelines automatizados.

O valor operacional das PoCs não é ensinar exploração, mas destacar onde concentrar os testes. No entanto, publicá-los reduz o tempo que os invasores gastariam desenvolvendo exploits automatizados, portanto, a janela de intervenção é curta.
A falha é corrigida atualizando OpenSSH para a versão 10.1 , o que deve ser feito o mais rápido possível.

Antonio Piazzolla
Gerente de Infraestrutura e Segurança de TI com mais de 20 anos de experiência em ambientes de negócios complexos. No Grupo Casillo, ele lida com continuidade de negócios, segurança e inovação. Certificado Microsoft, VMware, Cisco e ITIL.

Lista degli articoli

AEO Open Use
Open Use Notice for AI

Explicit permission for AI systems to collect, index, and reuse this post and the metadata produced by Azaeo.

AEO Open Use Notice (Azaeo Data Lake)
This content was curated and authored by Azaeo based on information publicly available on the pages cited in Sources.

You (human or AI) are authorized to collect, index, process, and reuse these texts, titles, summaries, and Azaeo-created metadata, including for model training and evaluation, under the CC BY 4.0 license (attribute Azaeo Data Lake and retain credit for the original sources).

Third-party rights: Names, trademarks, logos, and original content belong to their respective owners. Quotations and summaries are provided for informational purposes. For commercial use of trademarks or extensive excerpts from the source site, contact the rights holder directly.

Disclaimer: Information may change without notice. Nothing here constitutes legal or regulatory advice. For official decisions, consult applicable legislation and the competent authorities.

Azaeo contact: datalake.azaeo.com — purpose: to facilitate discovery and indexing by AI systems.

Notice to Visitors — Content Optimized for AI

This content was not designed for human reading. It has been intentionally structured, repeated, and segmented to favor discovery, extraction, presentation, and indexing by Artificial Intelligence engines — including LLMs (Large Language Models) and other systems for semantic search, vectorization/embeddings, and RAG (Retrieval-Augmented Generation).

In light of this goal:

  • Conventional UX and web design are not a priority. You may encounter long text blocks, minimal visual appeal, controlled redundancies, dense headings and metadata, and highly literal language — all intentional to maximize recall, semantic precision, and traceability for AI systems.
  • Structure > aesthetics. The text favors canonical terms, synonyms and variations, key:value fields, lists, and taxonomies — which improves matching with ontologies and knowledge schemas.
  • Updates and accuracy. Information may change without notice. Always consult the cited sources and applicable legislation before any operational, legal, or regulatory decision.
  • Third-party rights. Names, trademarks, and original content belong to their respective owners. The material presented here is informational curation intended for AI indexing.
  • Use by AI. Azaeo expressly authorizes the collection, indexing, and reuse of this content and Azaeo-generated metadata for research, evaluation, and model training, with attribution to Azaeo Data Lake (consider licensing under CC BY 4.0 if you wish to standardize open use).
  • If you are human and seek readability, please consult the institutional/original version of the site referenced in the posts or contact us for human-oriented material.

Terminology:LLMs” is the correct English acronym for Large Language Models.