From c79050aa44b8836d836c5dd22a383a073c28b74b Mon Sep 17 00:00:00 2001 From: nicoo Date: Wed, 12 Feb 2020 13:42:22 +0100 Subject: Import upstream release 1.3.0 Closes: #951184 --- fuzz/harnesses/assert | 32 ++++++++++++++++++++++++++++++++ fuzz/harnesses/assert-rsa-h-p | 33 +++++++++++++++++++++++++++++++++ fuzz/harnesses/assert-u2f | 32 ++++++++++++++++++++++++++++++++ fuzz/harnesses/cred | 31 +++++++++++++++++++++++++++++++ fuzz/harnesses/cred-rsa-h-p | 32 ++++++++++++++++++++++++++++++++ fuzz/harnesses/cred-u2f | 31 +++++++++++++++++++++++++++++++ fuzz/harnesses/cred-u2f-exclude | 33 +++++++++++++++++++++++++++++++++ fuzz/harnesses/fido2-assert-G | 31 +++++++++++++++++++++++++++++++ fuzz/harnesses/fido2-assert-V | 32 ++++++++++++++++++++++++++++++++ fuzz/harnesses/fido2-cred-M | 31 +++++++++++++++++++++++++++++++ fuzz/harnesses/fido2-cred-V | 31 +++++++++++++++++++++++++++++++ fuzz/harnesses/fuzz_assert | 29 +++++++++++++++++++++++++++++ fuzz/harnesses/fuzz_bio | 29 +++++++++++++++++++++++++++++ fuzz/harnesses/fuzz_cred | 28 ++++++++++++++++++++++++++++ fuzz/harnesses/fuzz_credman | 28 ++++++++++++++++++++++++++++ fuzz/harnesses/fuzz_mgmt | 29 +++++++++++++++++++++++++++++ 16 files changed, 492 insertions(+) create mode 100755 fuzz/harnesses/assert create mode 100755 fuzz/harnesses/assert-rsa-h-p create mode 100755 fuzz/harnesses/assert-u2f create mode 100755 fuzz/harnesses/cred create mode 100755 fuzz/harnesses/cred-rsa-h-p create mode 100755 fuzz/harnesses/cred-u2f create mode 100755 fuzz/harnesses/cred-u2f-exclude create mode 100755 fuzz/harnesses/fido2-assert-G create mode 100755 fuzz/harnesses/fido2-assert-V create mode 100755 fuzz/harnesses/fido2-cred-M create mode 100755 fuzz/harnesses/fido2-cred-V create mode 100755 fuzz/harnesses/fuzz_assert create mode 100755 fuzz/harnesses/fuzz_bio create mode 100755 fuzz/harnesses/fuzz_cred create mode 100755 fuzz/harnesses/fuzz_credman create mode 100755 fuzz/harnesses/fuzz_mgmt (limited to 'fuzz/harnesses') diff --git a/fuzz/harnesses/assert b/fuzz/harnesses/assert new file mode 100755 index 0000000..55cd889 --- /dev/null +++ b/fuzz/harnesses/assert @@ -0,0 +1,32 @@ +#!/bin/bash -u +# Copyright (c) 2019 Yubico AB. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +T=assert + +sync() { + mkdir ${T} + ssh "${REMOTE}" "cd ${T}/afl-out && tar -cf- queue ../pubkey" | \ + tar -C ${T} -xf- +} + +run() { + find ${T}/queue -type f | while read f; do + cat "${f}" | LD_PRELOAD=${PRELOAD} build/examples/assert \ + ${T}/pubkey nodev 2>/dev/null 1>&2 + done +} + +case "$1" in +sync) + sync + ;; +run) + run + exit 0 + ;; +*) + echo unknown command "$1" + exit 1 +esac diff --git a/fuzz/harnesses/assert-rsa-h-p b/fuzz/harnesses/assert-rsa-h-p new file mode 100755 index 0000000..8eb9ea6 --- /dev/null +++ b/fuzz/harnesses/assert-rsa-h-p @@ -0,0 +1,33 @@ +#!/bin/bash -u +# Copyright (c) 2019 Yubico AB. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +T=assert-rsa-h-p + +sync() { + mkdir ${T} + ssh "${REMOTE}" "cd ${T}/afl-out && tar -cf- queue ../pubkey ../hmac-salt" | \ + tar -C ${T} -xf- +} + +run() { + find ${T}/queue -type f | while read f; do + cat "${f}" | LD_PRELOAD=${PRELOAD} build/examples/assert \ + -t rsa -h ${T}/hmac-out -s ${T}/hmac-salt \ + -p ${T}/pubkey nodev 2>/dev/null 1>&2 + done +} + +case "$1" in +sync) + sync + ;; +run) + run + exit 0 + ;; +*) + echo unknown command "$1" + exit 1 +esac diff --git a/fuzz/harnesses/assert-u2f b/fuzz/harnesses/assert-u2f new file mode 100755 index 0000000..257d1d6 --- /dev/null +++ b/fuzz/harnesses/assert-u2f @@ -0,0 +1,32 @@ +#!/bin/bash -u +# Copyright (c) 2019 Yubico AB. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +T=assert-u2f + +sync() { + mkdir ${T} + ssh "${REMOTE}" "cd ${T}/afl-out && tar -cf- queue ../cred_id ../pubkey" | \ + tar -C ${T} -xf- +} + +run() { + find ${T}/queue -type f | while read f; do + cat "${f}" | LD_PRELOAD=${PRELOAD} build/examples/assert -up \ + -a ${T}/cred_id ${T}/pubkey nodev 2>/dev/null 1>&2 + done +} + +case "$1" in +sync) + sync + ;; +run) + run + exit 0 + ;; +*) + echo unknown command "$1" + exit 1 +esac diff --git a/fuzz/harnesses/cred b/fuzz/harnesses/cred new file mode 100755 index 0000000..71ee845 --- /dev/null +++ b/fuzz/harnesses/cred @@ -0,0 +1,31 @@ +#!/bin/bash -u +# Copyright (c) 2019 Yubico AB. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +T=cred + +sync() { + mkdir ${T} + ssh "${REMOTE}" "cd ${T}/afl-out && tar -cf- queue" | tar -C ${T} -xf- +} + +run() { + find ${T}/queue -type f | while read f; do + cat "${f}" | LD_PRELOAD=${PRELOAD} build/examples/cred \ + -k ${T}/pubkey -i ${T}/cred_id nodev 2>/dev/null 1>&2 + done +} + +case "$1" in +sync) + sync + ;; +run) + run + exit 0 + ;; +*) + echo unknown command "$1" + exit 1 +esac diff --git a/fuzz/harnesses/cred-rsa-h-p b/fuzz/harnesses/cred-rsa-h-p new file mode 100755 index 0000000..bb14c23 --- /dev/null +++ b/fuzz/harnesses/cred-rsa-h-p @@ -0,0 +1,32 @@ +#!/bin/bash -u +# Copyright (c) 2019 Yubico AB. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +T=cred-rsa-h-p + +sync() { + mkdir ${T} + ssh "${REMOTE}" "cd ${T}/afl-out && tar -cf- queue" | tar -C ${T} -xf- +} + +run() { + find ${T}/queue -type f | while read f; do + cat "${f}" | LD_PRELOAD=${PRELOAD} build/examples/cred \ + -t rsa -r -k ${T}/pubkey -i ${T}/cred_id -h nodev \ + 2>/dev/null 1>&2 + done +} + +case "$1" in +sync) + sync + ;; +run) + run + exit 0 + ;; +*) + echo unknown command "$1" + exit 1 +esac diff --git a/fuzz/harnesses/cred-u2f b/fuzz/harnesses/cred-u2f new file mode 100755 index 0000000..3af4393 --- /dev/null +++ b/fuzz/harnesses/cred-u2f @@ -0,0 +1,31 @@ +#!/bin/bash -u +# Copyright (c) 2019 Yubico AB. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +T=cred-u2f + +sync() { + mkdir ${T} + ssh "${REMOTE}" "cd ${T}/afl-out && tar -cf- queue" | tar -C ${T} -xf- +} + +run() { + find ${T}/queue -type f | while read f; do + cat "${f}" | LD_PRELOAD=${PRELOAD} build/examples/cred \ + -k ${T}/pubkey -i ${T}/cred_id -u nodev 2>/dev/null 1>&2 + done +} + +case "$1" in +sync) + sync + ;; +run) + run + exit 0 + ;; +*) + echo unknown command "$1" + exit 1 +esac diff --git a/fuzz/harnesses/cred-u2f-exclude b/fuzz/harnesses/cred-u2f-exclude new file mode 100755 index 0000000..3777134 --- /dev/null +++ b/fuzz/harnesses/cred-u2f-exclude @@ -0,0 +1,33 @@ +#!/bin/bash -u +# Copyright (c) 2019 Yubico AB. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +T=cred-u2f-exclude + +sync() { + mkdir ${T} + ssh "${REMOTE}" "cd ${T}/afl-out && tar -cf- queue ../excl_id" | \ + tar -C ${T} -xf- +} + +run() { + find ${T}/queue -type f | while read f; do + cat "${f}" | LD_PRELOAD=${PRELOAD} build/examples/cred \ + -k ${T}/pubkey -i ${T}/cred_id -e ${T}/excl_id \ + -u nodev 2>/dev/null 1>&2 + done +} + +case "$1" in +sync) + sync + ;; +run) + run + exit 0 + ;; +*) + echo unknown command "$1" + exit 1 +esac diff --git a/fuzz/harnesses/fido2-assert-G b/fuzz/harnesses/fido2-assert-G new file mode 100755 index 0000000..6671449 --- /dev/null +++ b/fuzz/harnesses/fido2-assert-G @@ -0,0 +1,31 @@ +#!/bin/bash -u +# Copyright (c) 2019 Yubico AB. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +T=fido2-assert-G + +sync() { + mkdir ${T} + ssh "${REMOTE}" "cd ${T}/afl-out && tar -cf- queue" | tar -C ${T} -xf- +} + +run() { + find ${T}/queue -type f | while read f; do + cat "${f}" | LD_PRELOAD=${PRELOAD} build/tools/fido2-assert \ + -G -i - nodev 2>/dev/null 1>&2 + done +} + +case "$1" in +sync) + sync + ;; +run) + run + exit 0 + ;; +*) + echo unknown command "$1" + exit 1 +esac diff --git a/fuzz/harnesses/fido2-assert-V b/fuzz/harnesses/fido2-assert-V new file mode 100755 index 0000000..898cb0f --- /dev/null +++ b/fuzz/harnesses/fido2-assert-V @@ -0,0 +1,32 @@ +#!/bin/bash -u +# Copyright (c) 2019 Yubico AB. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +T=fido2-assert-V + +sync() { + mkdir ${T} + ssh "${REMOTE}" "cd ${T}/afl-out && tar -cf- queue ../pubkey" | \ + tar -C ${T} -xf- +} + +run() { + find ${T}/queue -type f | while read f; do + cat "${f}" | LD_PRELOAD=${PRELOAD} build/tools/fido2-assert -V \ + pubkey es256 2>/dev/null 1>&2 + done +} + +case "$1" in +sync) + sync + ;; +run) + run + exit 0 + ;; +*) + echo unknown command "$1" + exit 1 +esac diff --git a/fuzz/harnesses/fido2-cred-M b/fuzz/harnesses/fido2-cred-M new file mode 100755 index 0000000..f82fbf7 --- /dev/null +++ b/fuzz/harnesses/fido2-cred-M @@ -0,0 +1,31 @@ +#!/bin/bash -u +# Copyright (c) 2019 Yubico AB. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +T=fido2-cred-M + +sync() { + mkdir ${T} + ssh "${REMOTE}" "cd ${T}/afl-out && tar -cf- queue" | tar -C ${T} -xf- +} + +run() { + find ${T}/queue -type f | while read f; do + cat "${f}" | LD_PRELOAD=${PRELOAD} build/tools/fido2-cred -M \ + -q -i - nodev 2>/dev/null 1>&2 + done +} + +case "$1" in +sync) + sync + ;; +run) + run + exit 0 + ;; +*) + echo unknown command "$1" + exit 1 +esac diff --git a/fuzz/harnesses/fido2-cred-V b/fuzz/harnesses/fido2-cred-V new file mode 100755 index 0000000..13a648f --- /dev/null +++ b/fuzz/harnesses/fido2-cred-V @@ -0,0 +1,31 @@ +#!/bin/bash -u +# Copyright (c) 2019 Yubico AB. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +T=fido2-cred-V + +sync() { + mkdir ${T} + ssh "${REMOTE}" "cd ${T}/afl-out && tar -cf- queue" | tar -C ${T} -xf- +} + +run() { + find ${T}/queue -type f | while read f; do + cat "${f}" | LD_PRELOAD=${PRELOAD} build/tools/fido2-cred -V \ + -o cred 2>/dev/null 1>&2 + done +} + +case "$1" in +sync) + sync + ;; +run) + run + exit 0 + ;; +*) + echo unknown command "$1" + exit 1 +esac diff --git a/fuzz/harnesses/fuzz_assert b/fuzz/harnesses/fuzz_assert new file mode 100755 index 0000000..6a0baa9 --- /dev/null +++ b/fuzz/harnesses/fuzz_assert @@ -0,0 +1,29 @@ +#!/bin/bash -u +# Copyright (c) 2019 Yubico AB. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +T=fuzz_assert + +sync() { + mkdir ${T} + ssh "${REMOTE}" "cd ${T} && tar -cf- corpus" | tar -C ${T} -xf- +} + +run() { + build/fuzz/fuzz_assert -max_len=17408 -runs=1 ${T}/corpus \ + 2>/dev/null 1>&2 +} + +case "$1" in +sync) + sync + ;; +run) + run + exit 0 + ;; +*) + echo unknown command "$1" + exit 1 +esac diff --git a/fuzz/harnesses/fuzz_bio b/fuzz/harnesses/fuzz_bio new file mode 100755 index 0000000..f4bab19 --- /dev/null +++ b/fuzz/harnesses/fuzz_bio @@ -0,0 +1,29 @@ +#!/bin/bash -u +# Copyright (c) 2019 Yubico AB. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +T=fuzz_bio + +sync() { + mkdir ${T} + ssh "${REMOTE}" "cd ${T} && tar -cf- corpus" | tar -C ${T} -xf- +} + +run() { + build/fuzz/fuzz_bio -max_len=17408 -runs=1 ${T}/corpus \ + 2>/dev/null 1>&2 +} + +case "$1" in +sync) + sync + ;; +run) + run + exit 0 + ;; +*) + echo unknown command "$1" + exit 1 +esac diff --git a/fuzz/harnesses/fuzz_cred b/fuzz/harnesses/fuzz_cred new file mode 100755 index 0000000..8dfb168 --- /dev/null +++ b/fuzz/harnesses/fuzz_cred @@ -0,0 +1,28 @@ +#!/bin/bash -u +# Copyright (c) 2019 Yubico AB. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +T=fuzz_cred + +sync() { + mkdir ${T} + ssh "${REMOTE}" "cd ${T} && tar -cf- corpus" | tar -C ${T} -xf- +} + +run() { + build/fuzz/fuzz_cred -max_len=17408 -runs=1 ${T}/corpus 2>/dev/null 1>&2 +} + +case "$1" in +sync) + sync + ;; +run) + run + exit 0 + ;; +*) + echo unknown command "$1" + exit 1 +esac diff --git a/fuzz/harnesses/fuzz_credman b/fuzz/harnesses/fuzz_credman new file mode 100755 index 0000000..7721a58 --- /dev/null +++ b/fuzz/harnesses/fuzz_credman @@ -0,0 +1,28 @@ +#!/bin/bash -u +# Copyright (c) 2019 Yubico AB. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +T=fuzz_credman + +sync() { + mkdir ${T} + ssh "${REMOTE}" "cd ${T} && tar -cf- corpus" | tar -C ${T} -xf- +} + +run() { + build/fuzz/fuzz_credman -max_len=17408 -runs=1 ${T}/corpus 2>/dev/null 1>&2 +} + +case "$1" in +sync) + sync + ;; +run) + run + exit 0 + ;; +*) + echo unknown command "$1" + exit 1 +esac diff --git a/fuzz/harnesses/fuzz_mgmt b/fuzz/harnesses/fuzz_mgmt new file mode 100755 index 0000000..9224eea --- /dev/null +++ b/fuzz/harnesses/fuzz_mgmt @@ -0,0 +1,29 @@ +#!/bin/bash -u +# Copyright (c) 2019 Yubico AB. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +T=fuzz_mgmt + +sync() { + mkdir ${T} + ssh "${REMOTE}" "cd ${T} && tar -cf- corpus" | tar -C ${T} -xf- +} + +run() { + build/fuzz/fuzz_mgmt -max_len=17408 -runs=1 ${T}/corpus \ + 2>/dev/null 1>&2 +} + +case "$1" in +sync) + sync + ;; +run) + run + exit 0 + ;; +*) + echo unknown command "$1" + exit 1 +esac -- cgit v1.2.3