|
|
Line 88: |
Line 88: |
|
| |
|
| == ARM9 software == | | == ARM9 software == |
| === boot9 ===
| |
| {| class="wikitable" border="1"
| |
| ! Summary
| |
| ! Description
| |
| ! Fixed with hardware model/revision
| |
| ! Newest hardware model/revision this flaw was checked for
| |
| ! Timeframe this was discovered
| |
| ! Discovered by
| |
| |-
| |
| | Incorrect padding check
| |
| | The signature has a flag byte that determines whether the padding should be checked. This makes you able to bruteforce the padding very easily, as only the flag byte has to be zero.
| |
| | N/A
| |
| | New3DS
| |
| | Summer 2015
| |
| | derrek
| |
| |-
| |
| | No bound checks inside of ASN.1 parser
| |
| | The hash inside of the signature is stored in an ASN.1 structure. However the length fields are not bounds-checked, allowing one to point the header hash to the hash the 3DS calculated before verification. This and because of the aforementioned bug, you can brute-force a signature that will always work easily, as essentially only a few bytes need to be valid.
| |
| | N/A
| |
| | New3DS
| |
| | Summer 2015
| |
| | derrek
| |
| |}
| |
|
| |
|
| === arm9loader === | | === arm9loader === |