1 pontos por GN⁺ 2024-07-31 | Ainda não há comentários. | Compartilhar no WhatsApp

Auditoria do Homebrew

  • Visão geral da auditoria do Homebrew
    • Foram auditados os aspectos relacionados à segurança do Homebrew, incluindo o Homebrew/brew e três repositórios relacionados
    • Os problemas encontrados não são críticos, mas podem permitir que um atacante carregue código executável em momentos inesperados, comprometendo a integridade do Homebrew
    • Realizada com o patrocínio do Open Tech Fund

Homebrew

  • Introdução ao Homebrew

    • Gerenciador de pacotes para macOS e Linux
    • Amplamente usado por desenvolvedores de software, processando milhões de instalações de pacotes
    • Como inclui pacotes importantes como Golang, Node.js e OpenSSL, a segurança do Homebrew é importante para a segurança de todo o ecossistema de software
  • Histórico do Homebrew

    • Desde seu início em 2009, passou por várias mudanças de arquitetura
    • Introduziu builds binários (bottles) como mecanismo de instalação padrão, substituindo builds locais a partir do código-fonte
    • Mantém a integridade dos builds por meio de CI/CD

Escopo da auditoria

  • Perguntas da auditoria
    • Se um ator local pode executar a DSL oficial sem brew install
    • Se um ator local pode avaliar a DSL oficial apenas com brew tap
    • Se é possível provocar confusão ou conflitos de namespace
    • Se fórmulas oficialmente instaladas podem contornar os mecanismos de isolamento de build do Homebrew
    • Se um ator de CI/CD com poucos privilégios pode escalar para privilégios mais altos
    • Se um ator de CI/CD com poucos privilégios pode contaminar builds de bottles
    • Se um ator de CI/CD com poucos privilégios pode manter persistência no CI/CD

Principais descobertas

brew
  • Principais descobertas
    • Fórmulas podem escapar do sandbox por meio de interpolação de strings
    • É possível causar confusão em tempo de execução usando uma função de hash propensa a colisões (MD5)
    • Fórmulas podem incluir no build recursos de rede não declarados
    • É possível escapar do sandbox por meio de socket pivoting
    • É possível realizar escalonamento de privilégios por meio de tokens do sudo
    • É possível instalar fórmulas a partir de URLs não locais
CI/CD do Homebrew
  • Principais descobertas
    • Usando o gatilho pull_request_target, PRs de terceiros podem executar código no repositório principal do Homebrew
    • É possível fazer injeção de shell por meio de entradas do workflow_dispatch
    • A falta de sandboxing/isolamento durante a extração de arquivos compactados pode permitir escalonamento para privilégios mais altos
    • Instalar fórmulas a partir de URLs não locais pode levar à execução arbitrária de código

Principais implicações

  • Desafios de auditar ecossistemas de gerenciamento de pacotes

    • Ferramentas de gerenciamento de pacotes, por projeto, instalam e executam código arbitrário de terceiros
    • Em ecossistemas de empacotamento como o Homebrew, o formato do pacote (fórmula) é, por si só, código executável
  • Colaboração na auditoria

    • Houve colaboração estreita com os mantenedores do Homebrew e a Homebrew PLC
    • Agradecimento especial ao gerente de segurança do Homebrew, Patrick Linnane

Resumo do GN⁺

  • O Homebrew é um gerenciador de pacotes amplamente usado no macOS e no Linux
  • A auditoria encontrou problemas de segurança que não são críticos, mas existem
  • A segurança do Homebrew é importante para a segurança de todo o ecossistema de software
  • Devido à natureza das ferramentas de gerenciamento de pacotes, que podem executar código arbitrário de terceiros, auditorias de segurança são importantes
  • Ferramentas de gerenciamento de pacotes com funções semelhantes incluem apt e yum

Ainda não há comentários.

Ainda não há comentários.