CocoaPods: Anfällig für Supply-Chain-Angriffe in "zahllosen" Mac- und iOS-Apps

Der Dependency-Manager auf Open-Source-Basis steckt in Millionen von Swift- und Objective-C-Programmen. Offenbar standen für fast ein Jahrzehnt die Tore offen.

In Pocket speichern vorlesen Druckansicht 2 Kommentare lesen
Logo von CocoaPods

Logo von CocoaPods.

(Bild: CocoaPods-Projekt)

Lesezeit: 3 Min.

Rund neun Jahre lang sollen schwerwiegende Probleme im populären Dependency-Management-Werkzeug CocoaPods gesteckt haben, das in Millionen Apps für iPhone, Mac und Co. zum Einsatz kommt. Das berichten IT-Forscher vom Sicherheitsanbieter Eva Security in einem neuen Paper, das am Montag veröffentlicht wurde. Den Angaben zufolge war es Angreifern zumindest theoretisch möglich, Bibliotheken (im CocoaPods-Sprachgebrauch "Pods" genannt) nahezu beliebig zu übernehmen und damit Malware einzubauen. Auf diese Weise wären dann tiefgreifende Lieferkettenangriffe (Supply Chain Attacks) realisierbar gewesen.

CocoaPods ist ein Open-Source-Projekt, das über 100.000 Bibliotheken versammelt und laut Angaben der Macher in "über 3 Millionen Apps" steckt. "CocoaPods hilft Ihnen dabei, Ihr Projekt elegant zu skalieren", wird das Tool beworben. Der auf Ruby basierende Dependency Manager ist für Swift- und Objective-C-Projekte gedacht. Eva Security fand heraus, dass CocoaPods bereits im Jahr 2014 alle Pods auf einen neuen "Trunk Server" auf GitHub migriert hat. Dabei wurden die Autoren jeder Bibliothek einfach zurückgesetzt. CocoaPods forderte die Entwickler dann auf, ihre jeweilige Bibliothek zu "claimen".

Allerdings taten dies nicht alle. Erstaunliche 1870 Pods haben derzeit noch den Owner namens "?", sind also komplett ohne einen solchen. Mit der Übernahme war es dann möglich, Code in ein Swift- oder Objective-C-Projekt einzuschleusen, die eine dieser Libraries verwenden. Eva Security hat den Vorfall unter der CVE-ID 2024-38368 eingereicht und sieht einen CVSS-Score von satten 9,3. (Die schlimmsten Sicherheitslücken erreichen einen Wert von 10.)

Der Angriff war sehr leicht umzusetzen: Um einen Pod als den seinen zu übernehmen, musste der Angreifer nur eine CURL-Anfrage stellen. Anschließend konnte die Library beliebig mit Malware oder sonstigem Code ausstaffiert werden, der dann wiederum via CocoaPods in den Apps landete, die die Bibliothek verwendeten. Die Nutzung von CocoaPods betrifft nicht nur kleine Entwickler, sondern laut Eva Secruity auch große Namen wie Amazon, Microsoft, TikTok, Meta oder gar Apple selbst. Derzeit lässt sich noch nicht sagen, ob es tatsächlich zu Lieferkettenangriffen über diesen Weg gekommen ist. Denkbar ist das allerdings. Eva Security selbst entdeckte das Problem nicht durch eine Analyse von CocoaPods, sondern im Rahmen von Red-Teaming-Versuchen bei einem Kunden.

Neben dem Supply-Chain-Angriff entdeckten die Sicherheitsforscher noch zwei weitere Probleme im Trunk-Server von CocoaPods selbst. Dieser erlaubte die Ausführung entfernten Codes über ein angreifbares Ruby-Paket sowie das Stehlen von Session Cookies über einen Fehler, der im Quellcode entdeckt wurde. Betroffene Entwickler sollten zunächst überprüfen, welche Pakete sie einsetzen und dann die verwendeten Third-Party-Bibliotheken von Hand validieren. Sollte eine der 1870 Pods ohne Besitzer darunter sein, sollte die Library dringend entfernt werden. Die Lücken im Trunk-Server selbst sowie die leichte Möglichkeit der Übernahme von Pods sollen vom CocoaPods-Projekt bereits im Oktober 2023 geschlossen worden sein.

Empfohlener redaktioneller Inhalt

Mit Ihrer Zustimmmung wird hier ein externer Preisvergleich (heise Preisvergleich) geladen.

Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit können personenbezogene Daten an Drittplattformen (heise Preisvergleich) übermittelt werden. Mehr dazu in unserer Datenschutzerklärung.

(bsc)