diff options
author | Matthew Miller <matthew@millerti.me> | 2020-06-30 08:07:56 -0700 |
---|---|---|
committer | Matthew Miller <matthew@millerti.me> | 2020-06-30 08:07:56 -0700 |
commit | cdbb88a48d7c9d7985453a0dd552106db3742969 (patch) | |
tree | 0f2cc3a8d5fed061c7ea8828e17f6181654de3d3 /packages/server/src/helpers/parseAuthenticatorData.ts | |
parent | 58012714d311ab41382cecf27615afcc59791a8f (diff) |
Require minimum buffer size when parsing authData
Diffstat (limited to 'packages/server/src/helpers/parseAuthenticatorData.ts')
-rw-r--r-- | packages/server/src/helpers/parseAuthenticatorData.ts | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/packages/server/src/helpers/parseAuthenticatorData.ts b/packages/server/src/helpers/parseAuthenticatorData.ts index e177002..919c0aa 100644 --- a/packages/server/src/helpers/parseAuthenticatorData.ts +++ b/packages/server/src/helpers/parseAuthenticatorData.ts @@ -2,6 +2,12 @@ * Make sense of the authData buffer contained in an Attestation */ export default function parseAuthenticatorData(authData: Buffer): ParsedAuthenticatorData { + if (authData.byteLength < 37) { + throw new Error( + `Authenticator data was ${authData.byteLength} bytes, expected at least 37 bytes`, + ); + } + let intBuffer = authData; const rpIdHash = intBuffer.slice(0, 32); |