Deutsch   English   Français   Italiano  
<v62o4t$22b9c$1@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Peter <confused@nospam.net>
Newsgroups: misc.phone.mobile.iphone,comp.sys.mac.system,uk.telecom.mobile,comp.mobile.ipad
Subject: Almost every iOS & macOS app has had huge vulnerabilities for over a decade
Date: Wed, 3 Jul 2024 06:38:38 +0100
Organization: -
Lines: 111
Message-ID: <v62o4t$22b9c$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Injection-Date: Wed, 03 Jul 2024 07:38:38 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="8bee8f85c8102c44ba79eb2024792999";
	logging-data="2174252"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX19EcLS6adfGzdCucdUcSMrJ"
Cancel-Lock: sha1:C5yUjERvT2l5ex2yXnGQB0APG/0=
X-Newsreader: Forte Agent 3.3/32.846
X-No-Archive: yes
Bytes: 7177

A near inconceivable number of Apple iPhone & macOS apps have been exposed 
to critical vulnerabilities in a popular dependency manager for over 10 
Years such that over three million CocoaPods-built iOS and macOS apps have 
been vulnerable for over a decade, unbeknownst to Apple & its test teams.
The CocoaPods platform contained a trio of serious exploited iOS and macOS 
vulnerabilities. The most severe of them - CVE-2024-38366, a remote code 
execution (RCE) opportunity - was assigned a critical 10 out of 10 CVSS 
rating. Another remarkable bug, CVE-2024-38368, earned a critical 9.3, and 
an 8.2 was given to the session verification-hijacking issue CVE-2024-38367 
- just to name a few of the vulnerabilites that slipped right by Apple 
testing for more than a decade as if Apple testers are as blind as a bat.

"The impact of this is enormous," says E.V.A CEO and co-founder Alon 
Boxiner. "You can't describe it in words. We don't even know how to 
accumulate the numbers [of affected apps] because of CocoaPods' vast 
usage."

The CocoaPods dependency manager is found in over a hundred thousand 
libraries used in more than three million mobile apps on iOS & macOS.

CocoaPods facilitates the integration of third-party code into programs by 
providing open-source libraries. When a library is updated, apps that use 
it automatically receive the most recent updates.

CocoaPods is a platform that developers in Apple's ecosystem use to add and 
manage external libraries (called "pods"). It sports over a hundred 
thousand libraries used by more than three million apps, including the most 
popular ones in the world such as packages relating to Instagram, X, Slack, 
AirBnB, Tinder, and Uber, to name just a few. This makes the pods prime 
targets for hackers, and the CocoaPods platform a bona fide money pit given 
Apple never thought to test for this vulnerability in more than a decade.

The exploit gives hackers instant access to private content, credit card 
numbers, medical records, and other sensitive app data. The information is 
then exploited for ransomware, fraud, blackmail, corporate espionage, and 
other nefarious activities.

The weaknesses are associated with an unreliable email verification system 
that verifies the identity of developers for specific pods or libraries. 

The vulnerabilities allowed any malicious actor to insert malicious code 
into many of the most popular iOS and MacOS applications.

An attacker using the vulnerabilities could easily have infected almost 
every Apple device, leaving tens of thousands of organizations vulnerable 
to catastrophic financial and reputational damage. One vulnerability 
detailed by E.V.A's researchers could enabled zero-day attacks against 
supposedly secure macOS infrastructure (which was insecure for a decade).

CocoaPods was first developed and released in 2011. Its current woes can be 
traced to 2014, when it replaced a GitHub-based authentication system with 
a new "Trunk" server, which thereafter doubled as the platform's 
centralized repository and distribution platform.

Though Trunk promised benefits to security, scalability, and developer 
quality of life, the migration process was awkward. For example, 
shockingly, ownership over all pods was reset.

"As part of the integration, some API's were exposed - including a 
front-end Web page - to let business owners that were authenticated via 
their GitHub account claim their own pods," recalls Reef Spektor, E.V.A 
vice president of research. In other words, users reclaimed their pods by 
simply calling dibs.

Many authors didn't reclaim their pods at all. Thousands of dependencies 
were left "orphaned." Over time still more were abandoned, as authors 
reneged on their ownership. Thousands of pods remain ownerless today.

The rub? The public API endpoint for claiming pods was still available nine 
years later.

Anyone in possession of this knowledge could have, at any point from 2014 
to 2023, claimed anyone else's pod for themselves, modified it however they 
wished, and pushed that modification to any Apple apps that use it.

What reasonable app would rely on an abandoned pod? It turns out: many, 
sometimes without noticing simply because it's a dependency of yet another 
pod. E.V.A found evidence of orphaned pods in documentation for apps like 
Facebook, Safari, Microsoft Teams, TikTok, Snapchat, and many more.

Remarkably, this wasn't even the most severe bug they found, which proved 
many times over how poorly Apple handles the testing of their own products.

Max-Severity RCE Bug Tied to RubyGem
Ironically, CocoaPods' worst vulnerability lay with an open source 
component it incorporated back in 2014 for validating user email addresses.

Thanks to some vulnerable methods in the RubyGem package rfc-22, an 
attacker could have injected arbitrary malicious code into the address 
field during Trunk's account validation process. The server would 
unknowingly run their arbitrary code, granting them carte blanche.

At this stage, Spektor explains, "I have complete access to the Trunk 
service - every owner, every pod, unclaimed, claimed, it doesn't really 
matter. I can take full ownership over them if I want to, I can edit them 
at runtime. So, for example, someone publishes a pod, and in the server I 
can hook to the pod specification and alter it to add malicious code. And 
that wouldn't really be visible externally."

The type of malicious code such an attacker could silently add to a pod 
would be limitless, and this is just one way they could take advantage of 
such access. They could use such access to shut down Trunk entirely, or 
steal session tokens from pod owners or CocoaPods itself.

https://www.techtimes.com/articles/306292/20240703/iphone-mac-applications-exposed-cyberattacks-10-years-report-claims.htm
https://siliconangle.com/2024/07/02/decade-long-cocoapods-vulnerabilities-exposed-apple-users-potential-security-risks/
https://www.darkreading.com/cloud-security/apple-cocoapods-bugs-expose-apps-code-injection
https://www.theregister.com/2024/07/02/cocoapods_vulns_supply_chain_potential/