Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2025-24104 PoC — Apple iOS和iPadOS 后置链接漏洞

Source
Associated Vulnerability
Title: Apple iOS和iPadOS 后置链接漏洞 (CVE-2025-24104)
Description:This issue was addressed with improved handling of symlinks. This issue is fixed in iOS 18.3 and iPadOS 18.3, iPadOS 17.7.4. Restoring a maliciously crafted backup file may lead to modification of protected system files.
Readme
# CVE-2025-24104 Writeup: Reading Files Out-of-Sandbox

I reported a bug that Apple later tracked as **CVE-2025-24104**. In my original report, I demonstrated how a malicious backup could be used to bypass sandbox restrictions. However, Apple’s initial description stated that this vulnerability could lead to modifications of protected system files. I want to set the record straight: this bug actually allows an attacker to read arbitrary files outside the sandbox.

## Timeline

- **Found:** April 2024  
- **Reported:** October 2024 
- **Patched:** iOS 18.3 beta 1

## What I Discovered

When I dug into the issue, I found that the vulnerability stems from a lack of proper symlink validation during the backup restoration process. Specifically, if you craft a backup where the file  
`/private/var/containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles/Library/ConfigurationProfiles/CloudConfigurationDetails.plist`  
is replaced with a symbolic link, the system ends up reading a file of your choosing—even if it lies outside the sandbox.

## How It Works

- **The Flaw:**  
  The `mc_mobile_tunnel` lockdown service fails to check whether `CloudConfigurationDetails.plist` is a symlink. If it is, the service follows the link, allowing an attacker to retrieve the content of any restricted file.

- **Steps to Reproduce:**  
  1. **Create a Malicious Backup:**  
     I crafted a backup where `CloudConfigurationDetails.plist` is a symlink that points to any restricted file.
  2. **Restore the Backup:**  
     I restored this backup on a device and rebooted it.
  3. **Exploit the Bug:**  
     Using a lockdown connection, I sent the `GetCloudConfiguration` command to the `com.apple.mobile.MCInstall` service. Instead of getting the expected file content, the service returned the contents of the file my symlink pointed to.

## Why It Matters

The ability to read arbitrary files outside the sandbox is a serious issue. It means that sensitive system data, which should remain protected, could be exposed to attackers. This isn’t just a minor bug—it’s a fundamental security flaw in how backups are handled.

## My Recommended Fix

To fix this, the backup restoration process needs a more rigorous check:
- **Symlink Validation:**  
  Before reading any file like `CloudConfigurationDetails.plist`, the service should verify that it’s a regular file and not a symlink. If it is a symlink, the restoration should either reject it or handle it safely.
- **Sandbox Enforcement:**  
  Strengthen sandbox restrictions so that even if a symlink is followed, it cannot point to files outside the intended area.

## Patch Details

With the release of **iOS 18.3**, Apple introduced additional checks in the **ManagedConfiguration** framework to remove any symlinks found in the `ConfigurationProfiles` folder. Specifically:

- A new function called `MCRemoveFileIfSymlink` was added.
- This function is invoked by `MCFixHostileSymlinks`.
- Whenever a file in the `ConfigurationProfiles` folder is identified as a symlink, it is immediately deleted.

You can see the **bindiff** details here:  
[https://github.com/blacktop/ipsw-diffs/blob/main/18_2_22C152__vs_18_3_22D5034e/DYLIBS/ManagedConfiguration.md](https://github.com/blacktop/ipsw-diffs/blob/main/18_2_22C152__vs_18_3_22D5034e/DYLIBS/ManagedConfiguration.md)

Below is a screenshot of my own diff showing where the new checks were added:

![Screenshot showing patch](/diff.jpg)

### Note on Mitigation Effectiveness
It’s worth mentioning that this new mitigation **does not fix the issue 100%**. I’ve already found a method to bypass it because Apple didn't implement my recommended fix, but I will keep those details private.

---

This is my personal account of **CVE-2025-24104**, emphasizing that Apple’s original description missed the mark. The true risk is the unauthorized reading of files out-of-sandbox, not modifications to system files.

**Exploit found by Hichem Maloufi (ifpdz)**
File Snapshot

Log in to view the POC file snapshot cached by Shenlong Bot

Log in to view
Remarks
    1. It is advised to access via the original source first.
    2. Local POC snapshots are reserved for subscribers — if the original source is unavailable, the local mirror is part of the paid plan.
    3. Mirroring, verifying, and maintaining this POC archive takes ongoing effort, so local snapshots are a paid feature. Your subscription keeps the archive online — thank you for the support. View subscription plans →