📑 Table of Contents
Vue After Free Userland Overview
Vue-After-Free is a PlayStation userland code execution exploit targeting Sony's PlayStation Vue application on PS4 consoles. The project represents collaborative security research and practical exploitation of CVE-2017-7117 across multiple PS4 firmware versions.
The exploit chain combines userland exploitation through the Vue application with firmware-specific kernel exploitation primitives (Lapse and Netctrl/Poopsploit), enabling full system compromise and jailbreak on supported firmware versions.
Vulnerability & CVE Context
Deprecated Approach: CVE-2018-4441
During development, CVE-2018-4441 was evaluated as a potential userland exploitation vector. However, extensive testing revealed critical performance and reliability issues:
- Inherent instability across different console configurations
- Unacceptably low success rate limiting practical deployment
- Inconsistent behavior across firmware versions
Due to these limitations, CVE-2018-4441 was deprioritized and ultimately dropped from active development.
Active Implementation: CVE-2017-7117
CVE-2017-7117 serves as the primary userland exploitation primitive in this project. This vulnerability has demonstrated reliable code execution and has been successfully chained with both Lapse and Netctrl/Poopsploit kernel exploits across their respective supported firmware ranges.
Vulnerability Scope & Compatibility Matrix
Exploit Component Coverage
The project documents separate coverage windows for each exploitation component:
| Exploit Component | Type | Supported Firmware |
|---|---|---|
| vue-after-free | Userland | 5.05 – 13.04 |
| Lapse | Kernel Exploit (KEX) | 1.01 – 12.02 |
| Netctrl (Poopsploit) | Kernel Exploit (KEX) | 1.01 – 13.00 |
Repository Functionally Tested Range
The current version of this repository provides a functionally tested complete jailbreak chain for the following firmware versions:
7.00 to 13.00
Kernel Exploit Selection Strategy
- 7.00–12.02: Lapse kernel exploit is used by default
- 12.50–13.00: Netctrl/Poopsploit kernel exploit is used by default
- Customizable Range: Users can manually configure to use Poopsploit on firmware versions as low as 9.00
Extended Userland Window
The userland exploitation component operates across a broader range: 5.05 to 13.02 are documented as functional userland exploitation ranges. However, full jailbreak chaining has practical limitations at firmware 13.02 and above due to kernel exploit availability constraints.
Comprehensive FAQ
This section addresses common user questions and technical considerations:
❓ Will this work on 13.02 or above?
Only the userland exploitation layer will function. You cannot achieve a full jailbreak above firmware 13.00 with the files provided in this repository. Userland-only behavior may differ across firmware versions.
❓ Do I need an internet connection?
You need any form of network connection, not specifically the internet. Mobile phone hotspot, local WiFi, or any available network works. Vue requires network connectivity and will display "There was a problem connecting to the internet" if unavailable. See Connection Instructions section.
❓ Getting "There is a network communication issue" error?
This indicates either Vue has automatically updated or your save file has reset. Use your own profile backup save, or if using the system backup from this repo, unpack encryptedsavebackup.zip to USB and import via PS4 saved data management.
❓ Getting "This service requires you to sign in to PlayStation Network" error?
Your Vue app most likely updated automatically. This typically occurs when not using DNS or proper Sony server blocking. Delete and reinstall the Vue application to resolve. Ensure DNS settings are properly configured before reopening.
❓ Vue app crashed during exploit attempt?
App crashes indicate exploit failure. Cleanly shut down the console and attempt the exploit sequence again. Multiple attempts may be necessary due to timing-dependent nature of the exploit.
❓ Console shut down during exploit attempt?
If a kernel panic occurred, press the power button on your console twice to force recovery mode, then retry running the exploit.
❓ How can I run a payload?
Closing and reopening Vue is required between running JavaScript payloads. However, .bin or .elf payloads can be executed sequentially without restarting. Select payloads from the UI Payload Menu.
❓ Can I run the jailbreak offline?
No. PS Vue requires an active network connection of some kind. Internet is not required—you can use home WiFi, mobile phone hotspot, ESP32 microcontroller network, or Ethernet from repurposed PPPwn devices.
❓ My payload is not recognized. What should I do?
Format your USB drive to MBR partition table with exFAT filesystem. This ensures proper payload detection and compatibility.
Important Operational Notes
Requirements
For Jailbroken PS4
If your console is already jailbroken, you will need:
- Fake or legitimately activated PS4 user account
- FTP access to the console
- USB flash drive
- PlayStation Vue 1.01 base version and 1.24 patch
- Download: Project Releases
For Non-Jailbroken PS4
If starting from a stock, unmodified console:
- USB flash drive (to be formatted)
- System backup file from project releases
Setup Instructions
Jailbroken PS4 Setup Path
Follow these steps if your PlayStation 4 already has an established jailbreak environment. A network connection (of any kind) is required before attempting to run Vue.
- Jailbreak your console using your preferred jailbreak method
- Enable FTP access on the console
- Install Apollo Save Tool from official releases
- Download PS Vue 1.01 base package and 1.24 patch; place both on USB
- In Apollo Save Tool, perform fake account activation: User Tools > Activate PS4 Accounts, press R2, then X, then hold O until XMB exit prompt, accept with X, restart console and re-jailbreak
- Connect to your console via FTP from your computer
- Download VueManualSetup.7z from project releases
- Via FTP, navigate to path
/user/download/CUSA00960/(create if needed) and placedownload0.datthere - On your USB, unpack
save.zipfrom VueManualSetup. Files appear as USB Saves in Apollo, togglable in Settings > USB Saves Sources - In USB root, place HEN or GoldHEN named as
payload.bin(or place in/data/for persistent loading without USB) - Plug USB into console
- In Apollo Save Tool, navigate to USB Saves, select PS Vue save (CUSA00960), choose "Copy save game to HDD"
- Install PS Vue 1.01 from package installer with "Background Installation" disabled; when prompted about re-installing, press yes; then install 1.24 patch
- Reboot console and open PS Vue to trigger exploit via jailbreak button or configure autoloader
- Optional: After jailbreaking, run
np-fake-signinpayload to suppress initial PSN sign-in pop-up
Non-Jailbroken PS4 Setup Path
Follow these steps if starting from an unmodified, stock PS4. A network connection is required; review network security instructions below before connecting.
- Format your USB drive to exFAT with MBR partition table
- Download VueSystemBackup.7z from project releases
- Unpack all contents of the archive to your USB drive
- Plug USB into your PS4 console
- If you have a legitimate PSN account with savedata, navigate to Settings > Application Saved Data Management > Saved Data in System Storage and backup to USB (requires sufficient space)
- Navigate to Settings > Storage > System Storage > Capture Gallery > All and backup captures to USB (requires sufficient space)
- Navigate to Settings > System > Back Up and Restore > Restore PS4, select the system backup from USB, and initiate restore
- Console reboots with fake-activated user account, Vue app, and exploit data ready
- In USB root, place HEN or GoldHEN named
payload.bin(will load from/data/in future, USB not required after first run) - Open PS Vue and trigger exploit via jailbreak button or configure autoloader
- Optional: After jailbreaking, run
np-fake-signinpayload - Default account ID on system backup: "1111111111111111" (locked, cannot change)
- To use a different account: Create new user, fake-activate via Apollo, then follow jailbroken PS4 setup steps
Creating a Separate User Account
If you want to use a custom account ID instead of the default system backup account:
- Create a new user on the PS4
- In Apollo Save Tool, go to User Tools > Activate PS4 Accounts, select your new user, optionally specify custom Account ID, reboot console
- From USB, unpack
save.zipfrom VueManualSetup.zip in releases - In Apollo Save Tool, go to USB Saves, select PS Vue save (CUSA00960), choose "Copy save game to HDD"
- Sign in as your new user and follow jailbroken PS4 setup instructions with that account
Updating Vue Exploit
To update an existing Vue exploitation installation:
- Download updated VueManualSetup.7z from releases
- Via FTP (while jailbroken), replace
download0.datin/user/download/CUSA000960/ - Delete
download0_info.datin the same path
Connecting to the Internet
Disable Automatic Updates (Critical First Step)
Before connecting to any network, disable automatic system updates to prevent interference with Vue:
- Navigate to PS4 Settings > System > Automatic Downloads
- Uncheck "Featured Content"
- Uncheck "System Software Update Files"
- Uncheck "Application Update Files"
Configure Internet Connection
- Navigate to Settings > Network > Set Up Internet Connection
- Choose your connection type:
- WiFi: Select Custom, scroll to Set Up Manually, select Enter Manually, enter network name, set security to "WPA-PSK/WPA2-PSK", enter password
- LAN Cable: Select Custom and proceed to next step
- IP Address Settings: Set to Automatic
- DHCP Host Name: Choose Do not Specify
- DNS Settings: Choose Manual
- Primary DNS: Set to either:
127.0.0.2— Limits console to local network only, blocks Sony servers62.210.38.117— Nomadic DNS; blocks Sony servers but allows normal internet connection
- Secondary DNS: Leave blank
- MTU Settings: Set to Automatic
- Proxy Server: Choose Do Not Use
- Press Test Internet Connection and wait for establishment
DNS Configuration Behavior
127.0.0.2 instead.
Important: The internet connection test failure does not mean your console cannot connect to the internet. It means the console cannot reach Sony's servers, which is the intended behavior for preventing update interference.
Payloads & Configuration
Preloaded Payloads
Vue-After-Free includes several built-in payloads for common operations:
- FTP (ftp-server.ts): Provides sandbox FTP access to quickly swap exploit files without requiring kernel exploit or full jailbreak. Quick iteration tool for developers.
- WebUI: Example implementation showing userland code execution with browser-based UI (alternative to JSMAF interface).
- ELFLDR (elfldr.elf): ELF/BIN payload loader for use post-exploit when HEN or GoldHEN have not yet been loaded.
- NP-Fake-SignIn: Removes initial Vue pop-up requesting PSN sign-in. Launched from Payload Menu. WARNING: Only use with fake-activated accounts.
Configuration Options
Vue includes configurable options for exploit automation and operational behavior:
- Firmware Auto-Detection: Jailbreak button auto-detects firmware and selects Lapse (7.00–12.02) or Netctrl (12.50–13.00) accordingly. Customizable in JB Behaviour config menu.
- Kernel Exploit Presets: Auto Lapse and Auto Poop options for automatic exploit launch on Vue app open.
- Auto Close: Application can automatically close after successful jailbreak
- Music Toggle: Background music can be enabled or disabled
Automatic Payload Execution
In config.js, you can register .bin or .elf files for automatic execution post-exploit:
/mnt/sandbox/download/CUSA00960/payloads/kernel_dumper.bin
Note: Do not add HEN or GoldHEN here—they load automatically via USB or /data/ directory.
Payload Management Guidelines
- JavaScript Payloads: Require closing and reopening Vue between executions
- Binary Payloads:
.binand.elffiles can chain sequentially without restart - Selection: Access all available payloads from UI Payload Menu during operation
Credits & Acknowledgments
Vue-After-Free represents collaborative research across exploit development, kernel integration, user interface design, and community support. The following individuals and projects have made substantial contributions:
Core Development Team
Exploitation Framework Credits
Payload Component Sources
- elfldr.elf — by John Törnblom
- AIOfix_network.elf — by Gezine
- np-fake-signin — by earthonion
📚 Additional Resources
For the latest updates, official discussion, community support, and additional technical documentation: