summaryrefslogtreecommitdiffhomepage
path: root/packages/server/src/helpers/parseAuthenticatorData.ts
diff options
context:
space:
mode:
authorMatthew Miller <matthew@millerti.me>2020-06-30 08:07:56 -0700
committerMatthew Miller <matthew@millerti.me>2020-06-30 08:07:56 -0700
commitcdbb88a48d7c9d7985453a0dd552106db3742969 (patch)
tree0f2cc3a8d5fed061c7ea8828e17f6181654de3d3 /packages/server/src/helpers/parseAuthenticatorData.ts
parent58012714d311ab41382cecf27615afcc59791a8f (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.ts6
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);