Dynamic workspace

Fuzzing target environment might deploy security controls that
require input files being loaded from whitelisted locations. Currently
honggfuzz is using only current directory as workspace to create
runtime files and save crashes. Certain setups might result into
dead-ends if whitelisted locations are marked as non-exec.

This commit allows the workspace directory to be dynamically
defined with the "-W" argument. Workspace directory is used for
mangled runtime files, tmp perf data & to save crashes. Report file is
left untouched since it can controlled with existing "-R" flag.

Issue has been identified while fuzzing Android media daemons
where SELinux allows input files to be loaded only from limited
RO NX paths.

Signed-off-by: Anestis Bechtsoudis <anestis@census-labs.com>
6 files changed
tree: efa0f7a72d87a94b0a7480304c2fce65be3d7786
  1. android/
  2. docs/
  3. examples/
  4. interceptor/
  5. linux/
  6. mac/
  7. posix/
  8. third_party/
  9. .gitignore
  10. arch.h
  11. CHANGELOG
  12. common.h
  13. CONTRIBUTING
  14. COPYING
  15. display.c
  16. display.h
  17. files.c
  18. files.h
  19. fuzz.c
  20. fuzz.h
  21. honggfuzz.c
  22. log.c
  23. log.h
  24. Makefile
  25. mangle.c
  26. mangle.h
  27. README.md
  28. report.c
  29. report.h
  30. util.c
  31. util.h
README.md

honggfuzz

Description

Code

Requirements

  • Linux - BFD library (libbfd-dev) and LibUnwind (libunwind-dev/libunwind8-dev)
  • FreeBSD - gmake
  • Android - Android SDK/NDK

Other

This is NOT an official Google product.