1 Punkte von GN⁺ 2024-07-31 | Noch keine Kommentare. | Auf WhatsApp teilen

Audit von Homebrew

  • Überblick über das Homebrew-Audit
    • Audit der sicherheitsrelevanten Aspekte von Homebrew, einschließlich Homebrew/brew und drei zugehöriger Repositories
    • Die gefundenen Probleme sind nicht kritisch, können es Angreifern jedoch ermöglichen, zu unerwarteten Zeitpunkten ausführbaren Code zu laden und so die Integrität von Homebrew zu beeinträchtigen
    • Durchgeführt mit Unterstützung des Open Tech Fund

Homebrew

  • Einführung in Homebrew

    • Paketmanager für macOS und Linux
    • Wird von Softwareentwicklern breit genutzt und verarbeitet Millionen von Paketinstallationen
    • Enthält wichtige Pakete wie Golang, Node.js und OpenSSL; daher ist die Sicherheit von Homebrew für die Sicherheit des gesamten Software-Ökosystems wichtig
  • Geschichte von Homebrew

    • Seit dem Start im Jahr 2009 mehrfach architektonisch verändert
    • Führte Binär-Builds (Bottles) als Standard-Installationsmechanismus ein und ersetzte damit lokale Source-Builds
    • Bewahrt die Integrität der Builds über CI/CD

Umfang des Audits

  • Audit-Fragen
    • Ob ein lokaler Akteur die offizielle DSL ohne brew install ausführen kann
    • Ob ein lokaler Akteur die offizielle DSL allein mit brew tap auswerten kann
    • Ob Namespace-Verwechslungen oder -Kollisionen verursacht werden können
    • Ob lokal installierte Formeln den Build-Isolationsmechanismus von Homebrew umgehen können
    • Ob ein CI/CD-Akteur mit geringen Rechten zu höheren Rechten eskalieren kann
    • Ob ein CI/CD-Akteur mit geringen Rechten Bottle-Builds verunreinigen kann
    • Ob ein CI/CD-Akteur mit geringen Rechten in CI/CD Persistenz aufrechterhalten kann

Zentrale Erkenntnisse

brew
  • Wichtigste Erkenntnisse
    • Formeln können über String-Interpolation aus der Sandbox ausbrechen
    • Eine kollisionsanfällige Hash-Funktion (MD5) kann für Runtime-Verwechslungen genutzt werden
    • Formeln können nicht deklarierte Netzwerkressourcen in Builds einbinden
    • Ein Ausbruch aus der Sandbox ist über Socket-Pivoting möglich
    • Über sudo-Tokens ist eine Privilegieneskalation möglich
    • Formeln können von nicht lokalen URLs installiert werden
CI/CD von Homebrew
  • Wichtigste Erkenntnisse
    • Durch den pull_request_target-Trigger können Third-Party-PRs Code im übergeordneten Repository von Homebrew ausführen
    • Über workflow_dispatch-Eingaben ist Shell-Injection möglich
    • Unzureichendes Sandboxing bzw. mangelnde Isolation bei der Archiv-Extraktion kann eine Eskalation zu höheren Rechten ermöglichen
    • Durch die Installation von Formeln von nicht lokalen URLs kann beliebige Codeausführung ausgelöst werden

Zentrale Implikationen

  • Herausforderungen bei Audits von Paketmanagement-Ökosystemen

    • Paketmanagement-Tools installieren und führen konstruktionsbedingt beliebigen Third-Party-Code aus
    • In Paketierungs-Ökosystemen wie Homebrew ist das Paketformat (Formeln) selbst ausführbarer Code
  • Zusammenarbeit beim Audit

    • Enge Zusammenarbeit mit den Homebrew-Maintainern und Homebrew PLC
    • Dank an den Security Manager von Homebrew, Patrick Linnane

Zusammenfassung von GN⁺

  • Homebrew ist ein weit verbreiteter Paketmanager für macOS und Linux
  • Das Audit fand Sicherheitsprobleme, die zwar nicht kritisch sind, aber dennoch relevant
  • Die Sicherheit von Homebrew ist für die Sicherheit des gesamten Software-Ökosystems wichtig
  • Aufgrund der Natur von Paketmanagement-Tools, die beliebigen Third-Party-Code ausführen können, sind Sicherheitsaudits besonders wichtig
  • Ähnliche Paketmanagement-Tools mit vergleichbarer Funktion sind unter anderem apt und yum

Noch keine Kommentare.

Noch keine Kommentare.