Switch System Flaws: Difference between revisions

Line 661: Line 661:
| April 18, 2020
| April 18, 2020
| July 14, 2020
| July 14, 2020
| [[User:Yellows8|yellows8]]
|-
| [[Applet_Manager_services#IDisplayController|AM IDisplayController]] ClearCaptureBuffer OOB
| The captureBuf is used as an array index without proper validation. There is code validating it, but on failure it just skips over a code-block, with code using captureBuf still being used afterwards. Then this is used to write bools into a global array, one of which is from the command input.
This was fixed with [9.1.0+] by requiring captureBuf = 0-1.
| OOB bool writes into an array
| [[9.1.0]]
| [[13.1.0]]
| ~July 31, 2019
| January 26, 2022
| [[User:Yellows8|yellows8]]
|-
| [[Applet_Manager_services#IDisplayController|AM IDisplayController]] TakeScreenShotOfOwnLayer OOB
| The captureBuf is used as an array index without validation. Data used from this array includes calling a funcptr from the array entry, if set. Eventually this is also used to write bools into this array, one of which is from the command input.
With [5.0.0+] a func is eventually called to get a ptr determined by the input captureBuf, with nullptr being returned for captureBuf>=0x10. The caller will Abort if nullptr was returned.
| OOB array access
| [[5.0.0]]
| [[13.1.0]]
| ~July 31, 2019
| January 26, 2022
| [[User:Yellows8|yellows8]]
| [[User:Yellows8|yellows8]]
|-
|-