Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rewrite NVRAM parsers in KaitaiStruct #344

Open
1 of 14 tasks
NikolajSchlej opened this issue Feb 18, 2023 · 2 comments
Open
1 of 14 tasks

Rewrite NVRAM parsers in KaitaiStruct #344

NikolajSchlej opened this issue Feb 18, 2023 · 2 comments

Comments

@NikolajSchlej
Copy link
Collaborator

NikolajSchlej commented Feb 18, 2023

Fuzzing showed that the current NVRAM parser is prone to deadloops because of offset backtracking.
Because data formats for all supported NVRAM types are fairly simple, I expect them to be expressible in declarative KaitaiStruct language.

Progress:

  • AMI NVAR: 7eb565d
  • TianoCore FDC (gEfiVariableGuid)
  • TianoCore VSS2 (gEfiAuthenticatedVariableGuid)
  • TianoCore VSS
  • TianoCore FTW
  • Apple VSS/SVS/NSS
  • Intel Legacy VSS
  • Apple Fsys/Gaid
  • Phoenix FlashMap
  • Phoenix EVSA
  • Phoenix CMDB
  • Phoenix SLIC PubKey
  • Phoenix SLIC Marker
  • Phoenix Intel Microcode
@NikolajSchlej
Copy link
Collaborator Author

A test file that breaks the current parser
oom-da07474f9bcec134c8120957f419e6d6ed23c46a.zip

@NikolajSchlej
Copy link
Collaborator Author

TianoCore VSS: 318fdb7

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant