Absinthe

From The Apple Wiki
Absinthe Version 2.0.4 on Windows

Absinthe is the A5 userland jailbreak tool for iPhone 4S and iPad 2 on iOS 5.0 (iPhone 4S only) and 5.0.1. This tool was released on 20 January 2012, and is available in three incarnations:

Newer versions (2.0 - 2.0.4) support all devices from iOS 5.0.1 and 5.1.1. This preinstalled Rocky Racoon from Cydia to untether.

The name Absinthe was chosen as an homage to greenpois0n, Chronic Dev Team's earlier jailbreak software. Absinthe is an alcoholic beverage that is often greenish in color and is poisonous in quantity.

Installation

The jailbreak packs Corona for the S5L8940 and the rest of the firmware patches in a regular iTunes backup and then restores this backup on to the device, which injects the required files. It is then completed by opening a web clip added to the home screen by Absinthe. If this doesn't work, for example, because the greenpois0n website is down due to the number of people attempting to jailbreak, an alternative is to enable a specially crafted VPN connection in the Settings app.

Exploit

This jailbreak uses the Racoon String Format Overflow Exploit and HFS Heap Overflow from Corona for untether. The exact exploit to jailbreak the two devices is not known yet, but it is assumed that the web clip loads a page that requires an IPsec VPN connection, which causes the racoon daemon to start and run the jailbreak payload.

However, some poking reveals some unique means of injection. At some point in the jailbreak process, BackupAgent is intentionally crashed to produce a crash log. The jailbreak payload reads this crash log in order to obtain the memory address of libcopyfile.dylib to continue with the exploit.

Opening the webclip_Info.plist file included with the GUI tool, which is the definition file for the web clip, an URL to the greenpois0n website[dead link] is found, which shows a please wait message. The interesting part is the source code of this page has an image linked to http://127.0.0.1/trigger.png, because 127.0.0.1 was designated as the trigger site for a VPN on-demand configuration and any attempt at accessing a resource on 127.0.0.1 will trigger the VPN. Note that there is no actual web server running on localhost.

Compatibility

5.0 (9A334) 5.0.1 (9A406) 5.0.1 (9A405) 5.1 (9B179) 5.1 (9A405) 5.1.1 (9B206) 5.1.1 (9B208)
iPhone 3GS No Yes No Yes
iPhone 4 (GSM) No Yes No Yes Yes
iPhone 4 (CDMA) No Yes No Yes
iPhone 4S Yes Yes Yes No No Yes
iPad No Yes No Yes
iPad 2 Wi-Fi No Yes No Yes
iPad 2 Wi-Fi + 3G (GSM) No Yes No Yes
iPad 2 Wi-Fi + 3G (CDMA No Yes No Yes
iPad 2 Wi-Fi (Mid 2012) No Yes
iPad (3rd generation) Wi-Fi No Yes No Yes
iPad (3rd generation) Wi-Fi + Cellular (VZ) No Yes No Yes
iPad (3rd generation) Wi-Fi + Cellular No Yes No Yes
iPod touch (3rd generation) No Yes No Yes
iPod touch (4th generation) No Yes No Yes