Editing Vulnerabilities

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

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 3: Line 3:
== BD-J exploits ==
== 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 [https://www.psdevwiki.com/ps4/Vulnerabilities#FW_%3C=10.71_-_BD-JB2_-_Path_traversal_sandbox_escape_by_TheFloW].
See [https://www.psdevwiki.com/ps4/Vulnerabilities#FW_%3C=10.71_-_BD-JB2_-_Path_traversal_sandbox_escape_by_TheFloW].
Line 11: Line 11:
'''Yes''' on PS5 FW 8.00.
'''Yes''' on PS5 FW 8.00.


=== FW <= 4.51 - BD-JB - Five vulnerabilities chained by TheFloW ===
=== FW <=4.51 - BD-JB - Five vulnerabilities chained by TheFloW ===


See [https://www.psdevwiki.com/ps4/Vulnerabilities#FW_%3C=9.00_-_BD-JB_-_Five_vulnerabilities_chained_by_TheFloW].
See [https://www.psdevwiki.com/ps4/Vulnerabilities#FW_%3C=9.00_-_BD-JB_-_Five_vulnerabilities_chained_by_TheFloW].
Line 38: Line 38:
'''No''' as of PS5 FW 5.10.
'''No''' as of PS5 FW 5.10.


=== 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 ===


See also [https://www.psdevwiki.com/ps4/Vulnerabilities#FW_6.00-9.60_-_FrameLoader::loadInSameDocument_UaF_(CVE-2022-22620)_leading_to_arbitrary_RW].
See also [https://www.psdevwiki.com/ps4/Vulnerabilities#FW_6.00-9.60_-_FrameLoader::loadInSameDocument_UaF_(CVE-2022-22620)_leading_to_arbitrary_RW].
Line 44: Line 44:
==== Patched ====
==== Patched ====


'''Yes''' on PS5 FW 6.00.
'''Maybe''' on PS5 FW 6.00 (need to test on PS5 FWs >=5.50).


==== Tested ====
==== Tested ====


Tested and working on PS4 FWs 6.00-9.60 and PS5 FWs 1.00-5.50.
Tested and working on PS4 FWs 6.00-9.60 and PS5 FW 5.10. Untested: PS5 FWs <=5.02 and >=5.50.


=== 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 ===
Line 84: Line 84:
= Kernel =
= Kernel =


== Physical memory readable by kernel (Meme Dumper) ==
== Physical Memory readable by kernel (Meme Dumper) ==


=== Credits ===
=== Credits ===
Discovered by cheburek3000. Released on 2023-02-07 by cheburek3000.
Discovered by cheburek3000. Released on 2023-02-07 by cheburek3000.


=== Bug Description ===
=== Bug Description ===
Steps:
Steps:


1. Find kernel_pmap_store offset in kernel data segment. You can guess its location by specific signature (see guess_kernel_pmap_store_offset code). Luckily kernel_pmap_store has physical and virtual addresses for PML4.
1. Find kernel_pmap_store offset in kernel data. You can guess its location by specific signature (see guess_kernel_pmap_store_offset code).


2. Through physical and virtual addresses for PML4, you can find physical memory mapped directly to the kernel memory (DMAP). See PADDR_TO_DMAP macro and vmparam.h from FreeBSD for reference.
2. Luckily it has physical and virtual addresses for PML4. And through them you can find physical memory mapped directly to the kernel memory (DMAP). See PADDR_TO_DMAP macro and vmparam.h from FreeBSD for reference.


3. Use page tables to convert any kernel virtual address to physical address (see vaddr_to_paddr code).
3. Use page tables to convert any kernel address to physical address (see vaddr_to_paddr code).


4. Access data by physical address through DMAP.
4. Access data by physical address through DMAP.


=== Exploit Implementation ===
=== Exploit Implementation ===
* [https://github.com/cheburek3000/meme_dumper]
* [https://github.com/cheburek3000/meme_dumper]


=== Patched ===
=== Patched ===
'''No''' in PS5 FW 4.51.
'''No''' in PS5 FW 4.51.
----
----


== FW <= 8.20 - Remote vulnerabilities in spp (yielding kernel ASLR defeat) (CVE-2006-4304 and no-CVE) ==
== FW 3.00-4.51 or 5.00 - IPV6_2292PKTOPTIONS UaF (yielding arbitrary kernel R/W) (CVE-2020-7457) ==
 
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].
 
=== Patched ===
 
'''Yes''' in PS5 FW 8.40.
----
 
== FW 3.00-4.51 - IPV6_2292PKTOPTIONS UaF (yielding arbitrary kernel R/W) (CVE-2020-7457) ==


See the [https://www.psdevwiki.com/ps4/Vulnerabilities#FW_.3C.3D_7.02_-_IPV6_2292PKTOPTIONS_UaF_.28yielding_arbitrary_kernel_R.2FW.29_.28CVE-2020-7457.29 PS4 wiki].
See the [https://www.psdevwiki.com/ps4/Vulnerabilities#FW_.3C.3D_7.02_-_IPV6_2292PKTOPTIONS_UaF_.28yielding_arbitrary_kernel_R.2FW.29_.28CVE-2020-7457.29 PS4 wiki].


=== Credits ===
=== Credits ===
* Discovered for PS4 and ported to PS5 by TheFloW.
* Discovered for PS4 and ported to PS5 by TheFloW.


=== Exploit Implementation ===
=== Exploit Implementation ===
* 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-4.03-Kernel-Exploit Kernel exploit implementation for PS5 3.00-4.51 by Specter (2022-10-02)]
* [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 or 5.02. Invulnerable in PS5 FW 2.50 and below.
'''Yes''' in PS5 FW 5.00. Invulnerable in PS5 FW 2.50 and below.
----
----


== FW <= 4.03 - exFAT driver heap-based buffer overflow ==
== FW <= 4.03 - exFAT driver heap-based buffer overflow ==
See the [https://www.psdevwiki.com/ps4/Vulnerabilities#FW_.3C.3D_9.00_-_exFAT_driver_heap-based_buffer_overflow PS4 wiki].


=== Credits ===
=== Credits ===
Discovered by TheFloW. Disclosed by ChendoChap.
Discovered by TheFloW. Disclosed by ChendoChap.


=== 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 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.
See the [https://www.psdevwiki.com/ps4/Vulnerabilities#FW_.3C.3D_9.00_-_exFAT_driver_heap-based_buffer_overflow PS4 wiki].


=== Patched ===
=== Patched ===
'''Yes''' in PS5 FW 4.50.
'''Yes''' in PS5 FW 4.50.
----
----
Line 160: Line 141:


=== Credits ===
=== Credits ===
* Discovered and disclosed publicly by m00nbsd. Disclosed to SIE on 2020-12-01.
* Discovered and disclosed publicly by m00nbsd. Disclosed to SIE on 2020-12-01.


=== Analysis ===
=== Analysis ===
* [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29628 CVE-2021-29628 (FreeBSD SMAP bypass) by m00nbsd]
* [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://hackerone.com/reports/1048322 CVE-2021-29628 (PS5 SMAP bypass) by m00nbsd]


=== 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.
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 ===
'''Yes''' in PS5 FW 2.30 or later according to dates.
'''Yes''' in PS5 FW 2.30 or later according to dates.
----
----
Please note that all contributions to PS5 Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PS5 Developer wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)