Jailbreak

This is the process by which full execute and write access is obtained on all the partitions of the iPhone. It is done by patching /private/etc/fstab to mount the System partition as read-write. This is entirely different from an unlock. Jailbreaking is the first action that must be taken before things like unofficial activation (hacktivation), and unofficial unlocking can be applied.

The original jailbreak also included modifying the AFC service (used by iTunes to access the filesystem) to give full filesystem access from root. This was later updated to create a new service (AFC2) that allows access to the full filesystem.

Modern jailbreaks also include patching the kernel to get around code signing and other restrictions. See Kernel Patches.

NOTE: The legality of jailbreaking your device varies with each country/region. Wikipedia has a summary of legality for some countries.

Version numbers are the first to jailbreak and last is the last supported version. Last will only be listed if a newer version is out that does not support the device and iOS.

1.0.2

 * Restore Mode (iBoot had a command named cp, which had access to the whole filesystem)

1.1.1

 * Symlinks (an upgrade jailbreak)
 * libtiff exploit (Adapted from the PSP scene, used by JailbreakMe)

1.1.2

 * Mknod (an upgrade jailbreak)

1.1.3 / 1.1.4 / 1.1.5

 * Soft Upgrade (an upgrade jailbreak)
 * Ramdisk Hack
 * Dual Boot Exploit - Works up to iOS 2.0 beta 3
 * diags - Works up to iOS 2.0 beta 5

2.0 / 2.0.1 / 2.0.2 / 2.1

 * Pwnage + Pwnage 2.0

2.1.1

 * ARM7 Go (tethered jailbreak)

2.2

 * Pwnage + Pwnage 2.0 (iPhone, iPod touch, and iPhone 3G)

2.2.1

 * Pwnage + Pwnage 2.0 (iPhone, iPod touch, and iPhone 3G)
 * 0x24000 Segment Overflow + ARM7 Go (from iOS 2.1.1) (iPod touch 2G)

3.0 / 3.0.1

 * Pwnage + Pwnage 2.0 (iPhone, iPod touch, and iPhone 3G)
 * ARM7 Go (from iOS 2.1.1) + 0x24000 Segment Overflow ( iPod touch 2G)
 * Pwnage + iBoot Environment Variable Overflow (iPhone, iPod touch, and iPhone 3G)
 * 0x24000 Segment Overflow + iBoot Environment Variable Overflow (iPod touch 2G and iPhone 3GS)

3.1 / 3.1.1

 * Pwnage + Pwnage 2.0 (together for untethered jailbreak on iPhone, iPod touch, and iPhone 3G)
 * usb_control_msg(0x21, 2) Exploit (tethered jailbreak on iPod touch 2G new bootrom, iPhone 3GS new bootrom, and iPod touch 3G)
 * 0x24000 Segment Overflow + usb_control_msg(0x21, 2) Exploit (iPod touch 2G old bootrom and iPhone 3GS old bootrom)

3.1.2

 * Pwnage + Pwnage 2.0 (together for untethered jailbreak on iPhone, iPod touch, and iPhone 3G)
 * usb_control_msg(0x21, 2) Exploit (tethered jailbreak on iPod touch 2G new bootrom, iPhone 3GS new bootrom, and iPod touch 3G)
 * 0x24000 Segment Overflow + usb_control_msg(0x21, 2) Exploit (iPod touch 2G old bootrom and iPhone 3GS old bootrom)
 * MobileBackup Copy Exploit + Incomplete Codesign Exploit + BPF_STX Kernel Write Exploit (all devices, used in Spirit)
 * Malformed CFF Vulnerability + Incomplete Codesign Exploit + IOSurface Kernel Exploit (all devices, used in Star)

3.1.3

 * Pwnage + Pwnage 2.0 (together for untethered jailbreak on iPhone, iPod touch, and iPhone 3G)
 * 0x24000 Segment Overflow (for iPod touch 2G and iPhone 3GS devices with older bootroms)
 * + Limera1n Exploit (iPhone 3GS old bootrom, used in sn0wbreeze)
 * + usb_control_msg(0xA1, 1) Exploit (iPod touch 2G old bootrom, used in sn0wbreeze)
 * usb_control_msg(0xA1, 1) Exploit+ Incomplete Codesign Exploit + BPF_STX Kernel Write Exploit (iPod touch 2G new bootrom, used in sn0wbreeze)
 * Limera1n Exploit + Incomplete Codesign Exploit + BPF_STX Kernel Write Exploit (iPod touch 3G and iPhone 3GS new bootrom, used in sn0wbreeze)
 * MobileBackup Copy Exploit + Incomplete Codesign Exploit + BPF_STX Kernel Write Exploit (all devices, used in Spirit)
 * Malformed CFF Vulnerability + Incomplete Codesign Exploit + IOSurface Kernel Exploit (all devices, used in Star)

3.2

 * MobileBackup Copy Exploit + Incomplete Codesign Exploit + BPF_STX Kernel Write Exploit (all devices, used in Spirit)
 * Malformed CFF Vulnerability + Incomplete Codesign Exploit + IOSurface Kernel Exploit (iPad, used in Star)
 * Limera1n Exploit + Incomplete Codesign Exploit + BPF_STX Kernel Write Exploit (iPad used in sn0wbreeze 2.9.x)

3.2.1

 * Malformed CFF Vulnerability + Incomplete Codesign Exploit + IOSurface Kernel Exploit (iPad, used in Star)
 * Limera1n Exploit + Incomplete Codesign Exploit + IOSurface Kernel Exploit (iPad, used in sn0wbreeze 2.9.x)

3.2.2

 * Limera1n Exploit + Packet Filter Kernel Exploit (iPad)

4.0 / 4.0.1

 * Pwnage + Pwnage 2.0 (iPhone 3G)
 * 0x24000 Segment Overflow (iPod touch 2G and iPhone 3GS devices with older bootroms)
 * Malformed CFF Vulnerability + Incomplete Codesign Exploit + IOSurface Kernel Exploit (all devices, used in Star)
 * Limera1n Exploit + Packet Filter Kernel Exploit (iPhone 3GS New bootrom, iPod touch 3G, iPhone 4 (iPhone3,1))

4.0.2

 * Pwnage + Pwnage 2.0 (iPhone 3G)
 * ARM7 Go (from iOS 2.1.1) + 0x24000 Segment Overflow (iPod touch 2G)
 * 0x24000 Segment Overflow (iPhone 3GS)
 * limera1n's bootrom exploit + Packet Filter Kernel Exploit (iPhone 3GS new bootrom, iPod touch 3G, iPhone 4 (iPhone3,1), and iPod touch 4G)

4.1

 * Pwnage + Pwnage 2.0 (together to jailbreak the iPhone 3G)
 * ARM7 Go (from iOS 2.1.1) + 0x24000 Segment Overflow (together for untethered jailbreak on iPod touch 2G old bootrom)
 * limera1n's bootrom exploit + 0x24000 Segment Overflow (together for untethered jailbreak on iPhone 3GS old bootrom)
 * limera1n's bootrom exploit + Packet Filter Kernel Exploit (together for untethered jailbreak on iPhone 3GS new bootrom, iPod touch 3G, iPhone 4 (iPhone3,1), iPod touch 4G, and Apple TV 2G))
 * usb_control_msg(0xA1, 1) Exploit + Packet Filter Kernel Exploit (together for untethered jailbreak on iPod touch 2G)

4.2.1

 * Pwnage + Pwnage 2.0 (together to jailbreak the iPhone 3G)
 * ARM7 Go (from iOS 2.1.1) + 0x24000 Segment Overflow (together for untethered jailbreak on iPod touch 2G old bootrom)
 * limera1n's bootrom exploit + 0x24000 Segment Overflow (together for untethered jailbreak on iPhone 3GS old bootrom)
 * limera1n's bootrom exploit + HFS Legacy Volume Name Stack Buffer Overflow (together for untethered jailbreak on iPhone 3GS new bootrom, iPod touch 3G, iPad, iPhone 4 (iPhone3,1), iPod touch 4G, and Apple TV 2G)
 * usb_control_msg(0xA1, 1) Exploit + HFS Legacy Volume Name Stack Buffer Overflow (together for untethered jailbreak on iPod touch 2G)

4.2.6 / 4.2.7 / 4.2.8

 * limera1n's bootrom exploit + HFS Legacy Volume Name Stack Buffer Overflow (together for untethered jailbreak on iPhone 4 (iPhone3,3))
 * T1 Font Integer Overflow (used for Saffron)

4.2.9 / 4.2.10

 * limera1n's bootrom exploit (Tethered jailbreak on iPhone 4 (iPhone3,3))

4.3

 * limera1n's bootrom exploit + 0x24000 Segment Overflow (together for untethered jailbreak on iPhone 3GS old bootrom)
 * limera1n's bootrom exploit (tethered jailbreak on iPhone 3GS new bootrom, iPod touch 3G, iPad, iPhone 4 (iPhone3,1), iPod touch 4G, and Apple TV 2G)
 * T1 Font Integer Overflow (used for Saffron)

4.3.1 / 4.3.2 / 4.3.3

 * limera1n's bootrom exploit + 0x24000 Segment Overflow (together for untethered jailbreak on iPhone 3GS old bootrom)
 * limera1n's bootrom exploit + ndrv_setspec Integer Overflow (together for untethered jailbreak on iPhone 3GS new bootrom, iPod touch 3G, iPad, iPhone 4 (iPhone3,1), and iPod touch 4G)
 * T1 Font Integer Overflow (used for Saffron)

4.3.4 / 4.3.5

 * limera1n's bootrom exploit + 0x24000 Segment Overflow (together for untethered jailbreak on iPhone 3GS with old bootrom)
 * limera1n's bootrom exploit (Tethered jailbreak) on iPhone 3GS with new bootrom, iPod touch 3G, iPad, iPhone 4 (iPhone3,1), and iPod touch 4G)

5.0

 * limera1n's bootrom exploit + 0x24000 Segment Overflow (together for untethered jailbreak on iPhone 3GS with old bootrom)
 * limera1n's bootrom exploit (Tethered jailbreak) on iPhone 3GS with new bootrom, iPod touch 3G, iPad, iPhone 4, and iPod touch 4G)
 * Racoon String Format Overflow Exploit (used both for payload injection and untether)+HFS Heap Overflow- iPhone 4S only

5.0.1

 * limera1n's bootrom exploit + 0x24000 Segment Overflow (together for untethered jailbreak on iPhone 3GS with old bootrom)
 * limera1n's bootrom exploit + Racoon String Format Overflow Exploit+HFS Heap Overflow on iPhone 3GS with new bootrom, iPod touch 3G, iPad, iPhone 4, and iPod touch 4G)
 * Racoon String Format Overflow Exploit (used both for payload injection and untether)+HFS Heap Overflow - iPad 2 and iPhone 4S with Absinthe

5.1

 * limera1n's bootrom exploit (Tethered jailbreak) on iPhone 3GS with new bootrom, iPod touch 3G, iPad, iPhone 4, and iPod touch 4G)
 * limera1n's bootrom exploit + 0x24000 Segment Overflow (together for untethered jailbreak on iPhone 3GS with old bootrom)

5.1.1

 * limera1n Exploit + 0x24000 Segment Overflow (together for untethered jailbreak on iPhone 3GS with old bootrom)
 * limera1n Exploit + Rocky Racoon (together for untethered jailbreak on iPhone 3GS with new bootrom, iPhone 4, iPod touch 3G, and iPod touch 4G)

6.0 / 6.0.1 / 6.0.2 / 6.1 / 6.1.1 / 6.1.2

 * limera1n's bootrom exploit (Tethered jailbreak) on iPhone 3GS with new bootrom, iPhone 4, and iPod touch 4G)
 * limera1n's bootrom exploit + 0x24000 Segment Overflow (together for untethered jailbreak on iPhone 3GS with old bootrom)
 * Symbolic Link Vulnerability
 * Timezone Vulnerability
 * Shebang Trick
 * AMFID code signing evasion
 * launchd.conf untether
 * IOUSBDeviceFamily Vulnerability
 * ARM Exception Vector Info Leak
 * dynamic memmove locating
 * vm_map_copy_t corruption for arbitrary memory disclosure
 * kernel memory write via ROP gadget

Apple TV 2G
1 Tethered jailbreak.

2 User needs to manually add PwnageTool firmware bundle into application.

3 Point at 6.0 IPSW. Also Tethered jailbreak.

iPad 2
1 Not compatible with iPad2,4

iPhone 4 (iPhone3,1)
1 Tethered jailbreak.

2 If SHSHs were saved for iOS 4.2b3 and if you have a developer access to its IPSW, Jailbreak Monte can be used.

3 Requires an unofficial firmware bundle.

4 Requires pointing redsn0w at 6.0 IPSW. Also Tethered jailbreak.

iPhone 4 (iPhone3,2)
Must point redsn0w at the 6.0 IPSW. Tethered.

iPhone 4 (iPhone3,3)
1 Tethered jailbreak.

2 Requires unofficial bundle.

3 Requires pointing redsn0w at 6.0 IPSW. Also Tethered jailbreak.