1 puntos por GN⁺ 2024-07-31 | Aún no hay comentarios. | Compartir por WhatsApp

Auditoría de Homebrew

  • Resumen de la auditoría de Homebrew
    • Se auditaron los aspectos de seguridad de Homebrew, incluyendo Homebrew/brew y tres repositorios relacionados
    • Los problemas encontrados no son críticos, pero podrían permitir que un atacante cargue código ejecutable en momentos inesperados y comprometa la integridad de Homebrew
    • Se realizó con el patrocinio de Open Tech Fund

Homebrew

  • Introducción a Homebrew

    • Gestor de paquetes para macOS y Linux
    • Es ampliamente utilizado por desarrolladores de software y procesa millones de instalaciones de paquetes
    • Incluye paquetes importantes como Golang, Node.js y OpenSSL, por lo que la seguridad de Homebrew es importante para la seguridad de todo el ecosistema de software
  • Historia de Homebrew

    • Desde su inicio en 2009, ha pasado por varios cambios de arquitectura
    • Introdujo las compilaciones binarias (bottles) como mecanismo de instalación predeterminado, reemplazando las compilaciones locales desde código fuente
    • Mantiene la integridad de las compilaciones mediante CI/CD

Alcance de la auditoría

  • Preguntas de la auditoría
    • Si un actor local puede ejecutar el DSL oficial sin usar brew install
    • Si un actor local puede evaluar el DSL oficial solo con brew tap
    • Si es posible provocar confusión o colisiones de espacios de nombres
    • Si una fórmula oficial instalada localmente puede eludir el mecanismo de aislamiento de compilación de Homebrew
    • Si un actor de CI/CD con bajos privilegios puede escalar a privilegios más altos
    • Si un actor de CI/CD con bajos privilegios puede contaminar compilaciones de botellas
    • Si un actor de CI/CD con bajos privilegios puede mantener persistencia en CI/CD

Hallazgos principales

brew
  • Hallazgos principales
    • Las fórmulas pueden escapar del sandbox mediante interpolación de cadenas
    • El uso de una función hash propensa a colisiones (MD5) puede provocar confusión en tiempo de ejecución
    • Las fórmulas pueden incluir recursos de red no declarados en la compilación
    • Es posible escapar del sandbox mediante un socket pivot
    • Es posible realizar escalamiento de privilegios mediante un token de sudo
    • Se pueden instalar fórmulas desde URL no locales
CI/CD de Homebrew
  • Hallazgos principales
    • Al usar el trigger pull_request_target, PRs de terceros pueden ejecutar código en el repositorio principal de Homebrew
    • Es posible hacer inyección de shell a través de entradas de workflow_dispatch
    • La falta de sandboxing/aislamiento durante la extracción de archivos permite escalar a privilegios más altos
    • Instalar fórmulas desde URL no locales puede inducir la ejecución de código arbitrario

Implicaciones principales

  • Desafíos de auditar ecosistemas de gestión de paquetes

    • Las herramientas de gestión de paquetes, por diseño, instalan y ejecutan código arbitrario de terceros
    • En ecosistemas de empaquetado como Homebrew, el formato del paquete (la fórmula) es en sí mismo código ejecutable
  • Colaboración en la auditoría

    • Se trabajó en estrecha colaboración con los mantenedores de Homebrew y Homebrew PLC
    • Se expresa agradecimiento a Patrick Linnane, administrador de seguridad de Homebrew

Resumen de GN⁺

  • Homebrew es un gestor de paquetes ampliamente utilizado en macOS y Linux
  • La auditoría encontró problemas de seguridad que no son críticos, pero sí relevantes
  • La seguridad de Homebrew es importante para la seguridad de todo el ecosistema de software
  • Debido a la naturaleza de las herramientas de gestión de paquetes, que pueden ejecutar código arbitrario de terceros, las auditorías de seguridad son importantes
  • Herramientas de gestión de paquetes con funciones similares incluyen apt y yum

Aún no hay comentarios.

Aún no hay comentarios.