A PlayStation Vue userland code execution exploit for Playstation 4.
Note
Need help or having issues? Join the discord
CVE-2018-4441 was shortly applied but due to instability and bad success rate it was dropped.
CVE-2017-7117 is used for the userland, and has been chained with Lapse and Poopsploit(Netctrl) kernel exploits on respective firmwares marked below.
KEX= Kernel Exploit
| vue-after-free (Userland) | Lapse (KEX) | Netctrl (KEX) |
|---|---|---|
| 5.05–13.04 | 1.01–12.02 | 1.01-13.00 |
This table indicates firmware versions for which the current version of this repository provides a functional tested jailbreak for.
| 7.00-13.00 |
|---|
- By default Lapse is used from 7.00 to 12.02, and Poopsploit from 12.50-13.00. Although you can choose to run Poopsploit on as low as 9.00.
- Userland exploit works 5.05 to 13.04 as is.
Q: Will this work on 13.02 or above? Only the userland, you cannot jailbreak above 13.00 with the files in this repo.
Q: Do I need an internet connection? You need any form of a network connection, not specifically internet. You can use your mobile phone hotspot or anyting else available. Vue will not launch the exploit without a network connection and will display "There was a problem connecting to the internet". Please see Connection Instructions.
Q: I am getting "There is a network communication issue" error.
This indicates that either Vue has updated or your save file has reset. Use your own profile backup's save, or if using the system backup from this repo, unpack the encryptedsavebackup.zip to a USB and import it with the PS4 saved data management. Or if all the internal data is gone you can use the OnlineSave that is signed to VueUser to enable the jailbreak again, or resign it to your account. It is recommended to keep a copy of it which is signed to your main user or a spare user. For more specific instructions see the Gettting the jailbreak again section.
Q: I am getting "This service requires you to sign in to PlayStation Network" even after replacing the save file, how can I fix it? Your Vue app most likely updated. This usually happens when not using a DNS or blocking Sony servers. You will have to delete and reinstall it. You can use the Extended storage method to do that.
Q: I ran Vue and the app crashed? If the app crashes the exploit failed, shutdown the console and try again.
Q: I ran Vue and my console shutdown, what do I do? If a kernel panic occurred you may need to press the power button on your console twice, then retry running the exploit.
Q: How can I run a payload? Closing and reopening Vue is required between running JS payloads, but .bin or .elf payloads can be run one after the other. Select the payload from the UI in the Payload Menu.
Q: Can I run the jailbreak offline? No. PS Vue requires any form of network connection. Internet is not required, so you can use any network like home WiFi, a hotspot from your mobile phone, a network from a microcontroller like ESP32, or an Ethernet network from a repurposed PPPwn device.
Q: My payload is not recognized, what should I do? Format your USB drive to MBR partition and exFAT format.
Important
The Vue save file may occasionally reset. To avoid issues please copy the encrypted save to a USB, from the PS4 settings menu for the user that is used to run the jailbreak, for easy future recovery.
Important
DO NOT change your np environment via Debug Settings, it will cause you to be unable to use a backup save file. And makes it incompatible with the current fake sign in payload.
The PS Vue exploit can be run a number of ways. Below are requirments and instructions on how to apply the different methods. Please create backups of savedata relevant to running the exploit and of your own from games.
Usually the Vue exploit uses the save file to load jailbreak data from the HDD, if the data becomes corrupted making you stuck on "There is a network communication issue" error" the Vue OnlineSave can be used to recover. Adittionally by using Vue from extended storage and resigning the OnlineSave and a fake activated or real PSN account you can retain all current data, or recover and jailbreak no matter what after jailbreak related data corruption.
If you can already jailbreak and want to try Vue just use the manual method.
If you cannot jailbreak and have no activated or real PSN account you will need to use the SystemBackup which will erase all current data on the console.
Lastly Vue has a fun UI with cats and Theme support for you to tinker with alongside a payload menu and auto run options but if you'd like to skip all that and simply jailbreak and load the payload from the USB then you can use the Lite version for any of the 3 methods Manual, Extended Storage andSystem Backup.
-
Any kind of network connection to launch the app.
-
Fake or legit activated PS4 user account.
-
FTP access to the console.
-
USB flash drive.
-
PlayStation Vue 1.01 base and 1.24 patch.(Referred to as "PS Vue or Vue" later in the guide). Download
- Internet connection on the PS4.
- Fake or legit activated PS4 user account.
- 256GB or above USB/HDD/SSD. Any drive larger than 256GB will also work.
- A way to resign a save file. A jailbroken PS4 or a Discord bot or Save Wizard.
Important
You will resign the save file that installs the exploit data through the internet.
- Any kind of network connection to launch the app.
- USB flash drive.
- System backup file.
Warning
Restoring the system backup will erase all data on your console, then apply the Vue app and it's exploit data to it.
If you are already jailbroken and want to update the exploit files use the udpate.js or see Exploit update A network connection of any kind is required, before trying to run Vue please connect to a local network even if it does not have internet. Connection Instructions
- Jailbreak your console.
- Enable FTP.
- Install Apollo Save Tool. Download
- Download PS Vue 1.01 pkg and 1.24 patch and place them on the USB. Download
- Open Apollo Save Tool and fake activate your account by going to
User Tools>Activate PS4 Accountsthen press R2 then X and then keep pressingOtill you are asked if you want to exit to the XMB accept withXthen restart the console and jailbreak again. - Connect to the console with FTP.
- Download the
VueManualSetup.7zorVueLiteManualSetup.7zfrom releases. If you choose Lite mode the exploit will always launch as soon as you open the app after the initial prompt. - Go to the following path with FTP
/user/download/CUSA00960/(create path if needed) and placedownload0.datthere. - On your USB unpack the save.zip ( or FTP to
/data/fakeusb/). The files will show up in USB Saves as if it is a real USB. It can be toggled in Apollo Settings>USB Saves Sources to be the only thing displayed even while a real USB is plugged in. - In the root of your USB place HEN or GoldHEN named as
payload.bin. Or place it in/data/. It will be loaded from/data/in the future so you do not need the USB after the first time. - Plug the USB into the console.
- In Apollo Save Tool go to USB Saves and select the PS Vue save(CUSA00960) and choose the option "Copy save game to HDD".
- Install PS Vue from your package installer, make sure
Background Installationis off press on yes when it asks if you want to install it again (only for 1.01) then install the 1.24 patch. - Reboot your console then open PS Vue you will be told "This service requires you to sign in to PlayStation Network" press OK to continue, run the exploit by pressing on the jailbreak button or configure the autoloader and auto close. Note if using HEN before setting up Auto Close please edit the config.js and add 20 seconds to the close delay by writing
20000.
- Backup the current save file to a USB via the console settings. Resign an
OnlineSavein case of exploit file corruption.
- Optionally after jailbreaking run the np-fake-signin payload to avoid the PSN pop-up. Lastly in this repo in src/icon is the Vue custom icon. If you'd like to set it up FTP to /user/appmeta/CUSA00960 delete icon0.png and place the one from this repo there, then reboot the console.
Warning
This will wipe your external drive.
An internet connection of any kind is required, before trying to run Vue please connect to a local network see: Connection Instructions
- Download balenaEtcher for Windows, macOS, or Linux from: https://etcher.balena.io
- Download
VueExtStorage.7zfrom Releases. - Extract the downloaded
.7zfile. Inside, you will see aVueExtImg.7zextract it. Inside, you will see a.zipimage file. - Connect your Drive to your computer (using a dock/enclosure or spare M.2 slot).
- Open balenaEtcher.
- Click “Flash from file” and select the extracted
.zipimage. - Click “Select target” and choose your Drive.
- Click “Flash!” to start the process.
Etcher will appear stuck at 0% for a while, then at 85-99% for several minutes. This is normal, let it finish without interruption! If you encounter damaged image warnings, reboot your pc, redownload the image.
- Go to Settings -> Storage -> Extended Storage -> Applications -> [Press Options on controller] -> Move To System Storage
- Press X on the Vue App to tick and select it.
- Go to "Move" and press X.
- Press OK on the prompt to move the app to internal storage. It will then move to internal storage.
A network connection of any kind is required, before trying to run Vue please connect to a local network even if it does not have internet, directly after restoring the system backup but if it does make sure you have first read the instructions >. Connection Instructions
- The
OnlineSaverequires an active internet connection.
- In the
VueExtStorage.7zyou extracted earlier is a folder calledOnlineSaveResignand inside itCUSA00960, it has an encrypted save which you need to resign to your current account on the targed console. You can do this with a jailbroken PS4 or a Discord bot or Save Wizard.11695c49_CUSA00960_localstorage.aesHas a decrypted save file too. Both can be used and be resigned. There is an empty PS4 folder in thePS4\SAVEDATAcreate a new folder with your Account ID and inside it place the CUSA00960 resigned save file.
- To find your current Account ID move any save file to a USB and see the 16 character folder in
PS4/SAVEDATA/XXXXXXXXXXXXXXXXand resign the save file to it.
- In the root of your USB place HEN or GoldHEN named as
payload.bin. It will be loaded from/data/in the future so you do not need the USB after the first time. - After resigning the save file place it on a USB in the path
PS4/SAVEDATA/XXXXXXXXXXXXXXXX/CUSA00960and plug it into your PS4. And make a backup of the save file you just resgined. - Go to
Settings>Apliccation Saved Data Management>Saved Data on USB Storage Device>Copy to System Storage. Select the Vue save file and move it. - Open the application you will be told "This service requires you to sign in to PlayStation Network" press OK to continue and wait a few seconds a screen will appear asking you to pick between a full install and a lite install choose whichever you want. If you choose Lite mode the exploit will always launch as soon as you open the app after the initial prompt. Optionally after jailbreaking run the np-fake-signin payload to avoid the PSN pop-up.
- After a successful jailbreak you will only need to run the app again in the future. Note if using HEN before setting up Auto Close please edit the config.js and add 20 seconds to the close delay by writing
20000.
A network connection of any kind is required, before trying to run Vue please connect to a local network even if it does not have internet, directly after restoring the system backup but if it does make sure you have first read the instructions >. Connection Instructions
- Format your USB Drive to Exfat.
Warning
This will wipe your drive of all data. Backup any important data.
- Download the
VueSystemBackup.7zorVueLiteSystemBackup.7zfrom Releases. If you choose Lite mode the exploit will always launch as soon as you open the app after the initial prompt. - Unpack the contents of the zip onto the USB.
- Plug the USB into your console.
- If you have a real PSN account on the console go to Settings>Application Saved Data Management>Saved Data in System Storage and backup your savedata to the USB. (Sufficient space required.)
- If you cannot access the savedata you do not have a Real PSN account or fake activated account, meaning that if you do not jailbreak first you cannot backup your saves.
- Go to Settings>Storage>System Storage>Capture Gallery>All and backup your captures to the USB. (Sufficient space required.)
- Go to Settings>System>Back Up and Restore>Restore PS4 and select the system backup there and restore it.
- When the console reboots you will have a fake activated user account and PS Vue and it's exploit data.
- In the root of your USB place HEN or GoldHEN named as
payload.bin. It will be loaded from/data/in the future so you do not need the USB after the first time. - Safely connect to any network as mentioned above.
- Open PS Vue you will be told "This service requires you to sign in to PlayStation Network" press OK to continue run the exploit by pressing on the jailbreak button or configure the autoloader and auto close. Note if using HEN before setting up Auto Close please edit the config.js and add 20 seconds to the close delay by writing
20000. Backup the current save file to a USB via the console settings. - Optionally after jailbreaking run the np-fake-signin payload to avoid the PSN pop-up.
- User account ID is "1111111111111111" you cannot change it but you can create another user and fake activate it (instructions below), then while jailbroken follow the instructions above for jailbroken users to set up PS Vue while signed into the newly activated account. Resign an
OnlineSavein case of exploit file corruption.
- Navigate to Settings > System > Automatic Downloads, and uncheck "Featured Content", "System Software Update Files" and "Application Update Files".
- Navigate to Settings > Network > Set Up Internet Connection
- Choose your connection type:
- Use WiFi > Custom Scroll to the bottom and select Set Up Manually > Enter Manually Enter your network name then set security to "WPA-PSK/WPA2-PSK and put in the password" Proceed to the next step.
- Use a LAN Cable > Custom: Proceed to the next step.
- IP Address Settings Choose
Automatic. - DHCP Host Name Choose
Do not Specify. - DNS Settings Choose
Manual. - Set Primary DNS to
127.0.0.2or62.210.38.117(leave Secondary DNS blank). 127.0.0.2 will limit your to local network connections only, while the 62.210.. DNS is the Nomadic DNS which blocks Sony servers and allow a normal internet connection. - MTU Settings Choose "Automatic", Proxy Server Choose "Do Not Use".
- Press Test Internet Connection wait for the connection to establish.
Note
If you get an IP Address but do not get an internet connection then the 62.210... DNS is working. IF you get a successful internet connection it has failed to apply due to limitations in your local network. Please use the 127.0.0.2 DNS.
- The internet connection failing does not indicate that it actually cannot connect to the internet, it just means the PS4 cannot communicate with Sony servers which is the point of the DNS.
If you wish to use a new account instead of the default one in the system backup.
- Create a new user.
- Fake activate it with Apollo Save Tool from User Tools>Activate PS4 Accounts. (optionally with the Account ID you want) then Reboot the console.
- On your USB unpack the save.zip from the VueManualSetup.zip in Releases.
- In Apollo Save Tool go to USB Saves and select the PS Vue save(CUSA00960) and choose the option "Copy save game to HDD".
- Download the
VueManualSetup.7zand replace download0.dat in/user/download/CUSA000960/and delete download0_info.dat with FTP while jailbroken.
- Download the
VueManualLite.7zand replace download0.dat in/user/download/CUSA000960/and delete download0_info.dat with FTP while jailbroken.
On occasion your Vue app may update or your save data may reset or your exploit data corrupts. This will make you unable to jailbreak but it is fixable. If Vue updated or you accidentally deleted it.
- Make sure the app is currently deleted if it updated.
- Rebuild your database in safe mode.
- Follow the Extended Storage Setup to get it back.
- Use the
OnlineSaveby either importing it or resigning it to your current account. Then launch Vue while you have a real internet connection see Connection Instructions. - Rebuild the FPKG database by following the guide here Rebuilding FPKG Database
Vue After Free comes preloaded with some payloads.
Important
The np-fake-signin should not be run on a real psn account.
The ftp-server.ts payload gives you sandbox FTP to quickly swap exploit or cosmetic files without running a kernel exploit/jailbreaking.
Example code for how you can run userland code with the browser as the UI. (possible alternative to jsmaf)
elfldr.elf is used to load elf and bin payloads post exploit when HEN or GoldHEN have not been loaded.
For some config changes to apply the application needs to be closed and opened again.
Vue comes with a few custom options. Firstly the jailbreak button auto detects firmware and the Lapse exploit from 7.00-12.02, as of 12.50-13.00 it then runs the Netctrl exploit. You can change the defaults in the config menu in the JB Behaviour section.
Another available option is to automatically launch a kernel exploit upon opening the Vue app. You can choose to either automatically launch Lapse or Netctrl on their respective compatible firmwares. Auto Lapse and Auto Poop.
After a successful jailbreak run you can choose to have the application automatically close, the Auto Close option.
Music can be enabled or disabled.
In config.js you can add .bin or .elf files to be loaded automatically on kernel exploit completion. HEN or GoldHEN should not be added there as they are already loaded via USB or from the /data/ directory automatically.
Example: /mnt/sandbox/download/CUSA00960/payloads/kernel_dumper.bin
The np-fake-signin payload gets rid of the first PS Vue pop-up asking you to sign into PSN. It can be launched from the payloads menu.
The update.js payload allows you to grab the latest files in the repo without needing to reinstall anything. Only works for normal UI version not for Lite mode.
Themes can be added my simply copying the folder to /download0/themes/ the default theme provides a good example of how a theme should be written.
- c0w-ar — Lapse and NetCtrl porting , Reverse Engineering
- earthonion — UI, initial JS injection, Payload host, Netctrl porting, binloader, Reverse engineering and remote installer
- ufm42 — Userland Exploit and reverse engineering
- D-Link Turtle — General support for userland exploition
- Gezine — Local JS method and PSN bypass research
- Helloyunho — TypeScript port , Reverse Engineering
- Dr.Yenyen — Extensive testing, quality control, end‑user support/ideas, system backup and extended storage method
- AlAzif — Reference for exploit table, retail application advice, Lapse AIO Fix kpatches and 12.50-13.00 kpatches
- abc — Lapse
- TheFlow — NetCtrl
- Lua Loader project — Remote Lua loader foundation
- Cryptogenic — Refence for CVE-2018-4441
- rebelle3 — Reference for CVE-2017-7117
- elfldr.elf by John Törnblom
- AIOfix_network.elf by Gezine
- np-fake-signin by earthonion
