Editing Vulnerabilities
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
= | = Usermode = | ||
== | == BD-J exploits == | ||
=== FW <= 7.61 - BD-JB2 - Path traversal sandbox escape by TheFloW === | === FW <= 7.61 - BD-JB2 - Path traversal sandbox escape by TheFloW === | ||
See [ | See [https://www.psdevwiki.com/ps4/Vulnerabilities#FW_%3C=10.71_-_BD-JB2_-_Path_traversal_sandbox_escape_by_TheFloW]. | ||
==== Patched ==== | ==== Patched ==== | ||
Line 37: | Line 13: | ||
=== FW <= 4.51 - BD-JB - Five vulnerabilities chained by TheFloW === | === FW <= 4.51 - BD-JB - Five vulnerabilities chained by TheFloW === | ||
See [ | See [https://www.psdevwiki.com/ps4/Vulnerabilities#FW_%3C=9.00_-_BD-JB_-_Five_vulnerabilities_chained_by_TheFloW]. | ||
==== Implementations ==== | ==== Implementations ==== | ||
Line 50: | Line 26: | ||
'''Yes''' partially on PS5 FWs > 4.50 (need to test). Probably unpatched on FW 4.51 and patched on FW 5.00. | '''Yes''' partially on PS5 FWs > 4.50 (need to test). Probably unpatched on FW 4.51 and patched on FW 5.00. | ||
== | == WebKit exploits == | ||
WebKit exploits are harder to make and do not even give arbitrary RW because of PS5 memory protections. | |||
=== Modal Browser HTTPS Bypass === | === Modal Browser HTTPS Bypass === | ||
* It is possible to bypass HTTPS in the modal browser, if you reply to the HTTPS CONNECT with a standard HTTP 1.1 response, instead of attempting to create a tunnel. The | * It is possible to bypass HTTPS in the modal browser, if you reply to the HTTPS CONNECT with a standard HTTP 1.1 response, instead of attempting to create a tunnel. The browser will just display that response. The downside to this is you have no idea what the contents of even the HTTP REQUEST would have been, but it is useful for directing the web browser to any website you want. | ||
==== Patched ==== | ==== Patched ==== | ||
Line 62: | Line 38: | ||
'''No''' as of PS5 FW 5.10. | '''No''' as of PS5 FW 5.10. | ||
=== FW | === FW 6.00-9.60 - Unknown heap and string overflow (no CVE) leading to crash === | ||
See also [https://www.psdevwiki.com/ps4/Vulnerabilities#FW_? | See also [https://www.psdevwiki.com/ps4/Vulnerabilities#FW_?10.00?-11.52_-_Unknown_heap_and_string_overflow_(no_CVE)_leading_to_crash]. | ||
==== Patched ==== | ==== Patched ==== | ||
Line 72: | Line 48: | ||
==== Tested ==== | ==== Tested ==== | ||
Tested working on PS4 FWs 10.00-11.52 and PS5 FWs 6.00-9.60. | Tested and working on PS4 FWs 10.00-11.52 and PS5 FWs 6.00-9.60. | ||
=== FW | === FW 6.00-8.60 - JSC DFG Abstract Intepreter clobberWorld Type Confusion (no CVE) leading to arbitrary RW === | ||
See also [https://www.psdevwiki.com/ps4/Vulnerabilities# | See also [https://www.psdevwiki.com/ps4/Vulnerabilities#FW_10.00-11.02_-_JSC_DFG_Abstract_Intepreter_clobberWorld_Type_Confusion_(no_CVE)_leading_to_arbitrary_RW]. | ||
==== Patched ==== | ==== Patched ==== | ||
Line 85: | Line 61: | ||
Tested and working on PS4 FWs 10.00-11.02 and PS5 FWs 6.00-8.60. | Tested and working on PS4 FWs 10.00-11.02 and PS5 FWs 6.00-8.60. | ||
=== FW <= 5.50 - FrameLoader::loadInSameDocument() UaF (CVE-2022-22620) leading to arbitrary RW === | === FW <= 5.50 - FrameLoader::loadInSameDocument() UaF (CVE-2022-22620) leading to arbitrary RW === | ||
Line 111: | Line 75: | ||
=== FW 3.00-4.51 - WebCore::CSSFontFaceSet vulnerabilities leading to usermode ROP code execution === | === FW 3.00-4.51 - WebCore::CSSFontFaceSet vulnerabilities leading to usermode ROP code execution === | ||
Contrarly to PS4, on PS5 this exploit does not allow arbitrary usermode memory RW because of PS5 memory protections. However thanks to tricks it is possible to get usermode ROP code execution from this exploit. | |||
See also [https://www.psdevwiki.com/ps4/Vulnerabilities#FW_9.00-9.04_-_WebCore::CSSFontFaceSet_vulnerabilities_leading_to_arbitrary_RW]. | See also [https://www.psdevwiki.com/ps4/Vulnerabilities#FW_9.00-9.04_-_WebCore::CSSFontFaceSet_vulnerabilities_leading_to_arbitrary_RW]. | ||
Line 116: | Line 82: | ||
==== Implementations ==== | ==== Implementations ==== | ||
* [https://github.com/ChendoChap/PS5-Webkit-Execution Implementation for PS5 | * [https://github.com/ChendoChap/PS5-Webkit-Execution Implementation for PS5 by ChendoChap] | ||
==== Patched ==== | ==== Patched ==== | ||
'''No''' as of PS5 FW 4.51 (need to test on PS5 FWs >=5.00) | '''No''' as of PS5 FW 4.51 (need to test on PS5 FWs >=5.00). | ||
==== Tested ==== | ==== Tested ==== | ||
Tested and working on PS4 FWs 9.00-9.04 and PS5 FWs 3.00-4.51. Untested: PS5 FWs 2.10-2. | Tested and working on PS4 FWs 9.00-9.04 and PS5 FWs 3.00-4.51. Untested: PS5 FWs 2.10-2.50 and >=5.00. | ||
== Game savedata exploits == | |||
=== PS2 game savedata exploits === | |||
== | See [https://www.psdevwiki.com/ps4/Vulnerabilities#PS2_games_savedata_exploits PS4 Dev Wiki]. | ||
=== PS4/PS5 PS2emu sandbox escape (mast1c0re) === | |||
See | See [https://www.psdevwiki.com/ps4/Vulnerabilities#PS4.2FPS5_PS2emu_sandbox_escape_.28mast1c0re.29 PS4 Dev Wiki]. | ||
=== | === PS4/PS5 game savedata LUA exploit === | ||
See [https://www.psdevwiki.com/ps4/Vulnerabilities#PS4/PS5_game_savedata_LUA_exploit PS4 Dev Wiki]. | |||
= | == PS4 emulator exploits == | ||
Nothing yet. | |||
== Usermode securities == | |||
See also [https://www.psdevwiki.com/ps4/Vulnerabilities#Usermode_securities PS4 usermode securities]. | |||
=== >=8.00 - Syscalls and libkernel blocked from main usermode applications === | |||
Since PS5 System Software version 8.00, in order to make the PS5 less vulnerable to kernel escalation from usermode after TheFloW's disclose of BD-JB2, Sony blocked syscall and libkernel access from the main contenders such as BD JAVA, WebKit, PS2emu and probably more else all usermode applications. | |||
= Kernel = | |||
== Physical memory readable by kernel (Meme Dumper) == | == Physical memory readable by kernel (Meme Dumper) == | ||
Line 176: | Line 145: | ||
'''No''' in PS5 FW 4.51. | '''No''' in PS5 FW 4.51. | ||
---- | ---- | ||
Line 207: | Line 157: | ||
* Shuffle from Fail0verflow for the FreeBSD 11 and PS5 PoC in C++ (2024-09-14) | * Shuffle from Fail0verflow for the FreeBSD 11 and PS5 PoC in C++ (2024-09-14) | ||
* Flatz for writing a PS5 exploit chain with TheFloW's BD-JB2 (2024-09-14) | * Flatz for writing a PS5 exploit chain with TheFloW's BD-JB2 (2024-09-14) | ||
=== Analysis === | === Analysis === | ||
Line 216: | Line 165: | ||
* [https://securityonline.info/freebsd-issues-urgent-security-advisory-for-cve-2024-43102-cvss-10/ Vulnerability press release (2024-09-09)] | * [https://securityonline.info/freebsd-issues-urgent-security-advisory-for-cve-2024-43102-cvss-10/ Vulnerability press release (2024-09-09)] | ||
* [https://accessvector.net/2024/freebsd-umtx-privesc Writeup by [email protected] (2024-09-06)] | * [https://accessvector.net/2024/freebsd-umtx-privesc Writeup by [email protected] (2024-09-06)] | ||
=== Bug Description === | === Bug Description === | ||
Line 237: | Line 185: | ||
* [https://gist.github.com/flatz/89dfe9ed662076742f770f92e95e12a7 JAVA implementation for PS5 chained with BD-JB2 by Flatz (2024-09-14)] | * [https://gist.github.com/flatz/89dfe9ed662076742f770f92e95e12a7 JAVA implementation for PS5 chained with BD-JB2 by Flatz (2024-09-14)] | ||
* [https://gist.github.com/flatz/5e12f75cdb210516d31df03069f7ed0a LUA implementation for PS5 chained with LUA exploit by Flatz (2024-09-14)] | * [https://gist.github.com/flatz/5e12f75cdb210516d31df03069f7ed0a LUA implementation for PS5 chained with LUA exploit by Flatz (2024-09-14)] | ||
=== Patched === | === Patched === | ||
Line 248: | Line 195: | ||
See the [https://www.psdevwiki.com/ps4/Vulnerabilities#FW_%3C=_11.00_-_Remote_vulnerabilities_in_spp_(yielding_kernel_ASLR_defeat)_(CVE-2006-4304_and_no-CVE) PS4 wiki]. | See the [https://www.psdevwiki.com/ps4/Vulnerabilities#FW_%3C=_11.00_-_Remote_vulnerabilities_in_spp_(yielding_kernel_ASLR_defeat)_(CVE-2006-4304_and_no-CVE) PS4 wiki]. | ||
Note that kernel ASLR defeat is currently not working on PS5 and there are protections remaining before being able to | Note that kernel ASLR defeat is currently not working on PS5 and there are protections remaining before being able to | ||
=== Patched === | === Patched === | ||
Line 277: | Line 224: | ||
* See also implementation for FreeBSD 9 or 12 or PS4. | * See also implementation for FreeBSD 9 or 12 or PS4. | ||
* [https://github.com/Cryptogenic/PS5- | * [https://github.com/Cryptogenic/PS5-4.03-Kernel-Exploit Kernel exploit implementation for PS5 3.00-4.51 by Specter (2022-10-02)] | ||
=== Patched === | === Patched === | ||
'''Yes''' in PS5 FW 5.00. Invulnerable in PS5 FW 2. | '''Yes''' in PS5 FW 5.00. Invulnerable in PS5 FW 2.50 and below. | ||
---- | ---- | ||
Line 295: | Line 241: | ||
=== Exploit Implementation === | === Exploit Implementation === | ||
Not yet because even though there is ChendoChap's method to execute usermode code in WebKit, there is no PS5 kernel dump to build a kernel ROP chain. Exploiting this kernel vulnerability blind is almost impossible because once the USB device is inserted it corrupts the kernel heap memory and if the offsets in the kernel ROP chain are bad it creates a kernel panic. | |||
Not yet because even though there is ChendoChap's method to execute usermode code in WebKit, there is no PS5 kernel | |||
=== Patched === | === Patched === | ||
Line 306: | Line 250: | ||
== SMAP bypass (CVE-2021-29628) == | == SMAP bypass (CVE-2021-29628) == | ||
See also [https://www.psdevwiki.com/ps4/Vulnerabilities#Kernel_SMAP | See also [https://www.psdevwiki.com/ps4/Vulnerabilities#Kernel_SMAP]. | ||
=== Credits === | === Credits === | ||
Line 314: | Line 258: | ||
=== Analysis === | === Analysis === | ||
* [https:// | * [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29628 CVE-2021-29628 (FreeBSD SMAP bypass) by m00nbsd] | ||
* [https://hackerone.com/reports/1048322 CVE-2021-29628 (PS5 SMAP bypass) by m00nbsd] | |||
* [https:// | |||
=== Bug Description === | === Bug Description === | ||
A SMAP bypass has been found by m00nbsd while working on FreeBSD 12. It is named CVE-2021-29628 and affects FreeBSD 12.2 and later (til it was patched). It does not work on PS4 because PS4 kernel is based on FreeBSD 9 which did not contain the vulnerability and because PS4 SMAP does not come from FreeBSD but is custom from Sony. It used to work on PS5 before it was disclosed and patched. | |||
=== Patched === | === Patched === | ||
Line 327: | Line 269: | ||
'''Yes''' in PS5 FW 2.30 or later according to dates. | '''Yes''' in PS5 FW 2.30 or later according to dates. | ||
---- | ---- | ||
= Secure Kernel = | = Secure Kernel = | ||
Line 350: | Line 278: | ||
Potentially vulnerable on PS5 FWs <= 4.03. | Potentially vulnerable on PS5 FWs <= 4.03. | ||
= | = Secure Loader = | ||
== | == Symmetric PS5 root keys dump by software exploit by Fail0verflow == | ||
See [https://twitter.com/fail0verflow/status/1457526453105569793 Fail0verflow's announcement on Twitter (2021-11-08)] | |||
Fail0verflow either has a bootrom execution exploit or an AMD/ARM PSP hack. | |||
''It is speculated that this exploit is a derivative of the ZenBleed [https://nvd.nist.gov/vuln/detail/CVE-2023-20593 CVE-2023-20593] exploit, as the PS5 APU is a custom ZEN 2 Ryzen chip.'' | |||
* | This allows to decrypt on PC most parts of the PS5 System Software files including: | ||
* PUP | |||
* secure loader (?AMD? ARM Platform Security Processor module) of Oberon | |||
And by derivation, mostly like on PS Vita: | |||
* secure modules | |||
* kernel boot loader / BIOS | |||
* non-secure kernel | |||
* usermode system modules | |||
Potentially unpatched. | |||
= Hypervisor = | |||
=== | == <=2.50 - Hypervisor integrated as part of the kernel binary == | ||
* Discovered by | * Discovered by Specter (2023-07-01) and Flatz (before 2023-07-27). | ||
* This makes Hypervisor exploitation easier as it can be triggered by usermode directly without the need of a kernel exploit. | |||
* See [[Hypervisor#In-Kernel_Hypervisor_.28.3C.3D_2.50.29]] and [https://wololo.net/2023/07/02/ps5-specterdev-shares-details-on-in-kernel-hypervisor-earlier-versions-of-the-ps5-hypervisor-found-in-firmwares/ wololo article (2023-07-02)]. | |||
* | * Patched since PS5 FW 3.00. | ||
= | = Platform Secure Processor = | ||
== <=2.50 - PSP dump via Hypervisor exploit == | |||
* Discovered by Fail0verflow before 2023-07-27, discovered independently and announced on 2023-07-27 by flatz ([https://twitter.com/flat_z/status/1684554194366107650 Announcement by flatz (2023-07-27)]). | |||
* Thanks to this software exploit, flatz got access to most PS5 decryption keys. | |||
* | * See also [https://www.psxhax.com/threads/flat_z-confirms-ps5-hypervisor-exploitation-from-ps4-save-game.16063/ flatz's comments]. | ||
= | * Vulnerable on PS5 FWs <= 2.50 and potentially patched since 3.00. | ||
= Unclassified = | |||
== | |||
== TheFloW's neither usermode nor kernel exploit == | |||
* On 2024-08-29, TheFloW received 10.000$ from Sony for disclosing privately on Sony's HackerOne bug bounty program a vulnerability. | |||
* According to Flatz, this vulnerability affects neither usermode nor kernel, so it might be either about hardware or more likely about Hypervisor. | |||
* This vulnerability probably got patched in PS5 FW 10.00 or in PS5 FW 9.60, or if it is not patchable by software, is patched in new hardware revisions of the PS5. | |||
= Hardware = | |||
== Untested: ZenBleed (''[https://nvd.nist.gov/vuln/detail/CVE-2023-20593 CVE-2023-20593]) leak register contents directly from the CPU.'' == | |||
This is a well documented CPU vulnerability in AMD Processors with the Zen 2 microarchitecture. There is no proof of concept specifically for the PS5, however we do know the PS5 uses a custom Zen 2 chip. This is a hardware bug that uses software to exploit the system. AMD has since patched this with [https://www.amd.com/en/resources/product-security/bulletin/amd-sb-7008.html software], but we are unsure of the status for the latest PS5 firmware (assumed to be patched). For more information see [[PS-Chi]]. |