mirror of
https://github.com/google/honggfuzz.git
synced 2026-10-12 02:14:31 +00:00
208 lines
10 KiB
Plaintext
208 lines
10 KiB
Plaintext
2023-09-21 - Version 2.6
|
|
- Pastis patch
|
|
- env NO_COLOR support
|
|
- fix problems with linux/bfd ```init_disassemble_info```
|
|
- Support ```--exit_on_time```
|
|
- ```strlcat``` supported in libhfuzz/memorycmp
|
|
- Some patches for MacOSX, sadly no support for ARM yet
|
|
- added missing ```add missing disassemble_free_target()```
|
|
- using ```rfork()``` under FreeBSD
|
|
- support for enabling/disabling ASLR under FreeBSD
|
|
|
|
2022-01-01 - Version 2.5
|
|
- fixed build for Android NDK >= 23
|
|
- fixed build for CygWin
|
|
- improved hfuzz-cc, so it supports -x<language> correctly
|
|
- error returned if unknown cmd-line parameters are provided
|
|
- support for thread CPU pinning
|
|
- various fixes for *BSD
|
|
- increased number of dictionary entries (to 8192)
|
|
|
|
2021-02-24 - Version 2.4
|
|
- better NetBSD support (compatiblity)
|
|
- fixed mangle_getLen() #360
|
|
- disabled --linux_net_ns by default, as the Linux kernel dies under heavy load of new net namespaces
|
|
- added support for address compression in IntelPT mode
|
|
- simplified input_skipFactor() which now yields better results (faster coverage acquisition)
|
|
- added --save_smaller for the use with Rust fuzzing
|
|
- fixed Android build under MacOSX
|
|
- simplified some mangle() functions
|
|
|
|
2020-07-22 - Version 2.3
|
|
- honggfuzz.h - split run_t into substructs
|
|
- clang-format options in .clang-format
|
|
- added missing mutex initializers
|
|
- removed unncessary comparisons to 'true' and 'false'
|
|
- improved NetBSD compatibility
|
|
- removed unnecessary memory fences (speed ups)
|
|
- faster searching through the binary for const 4/8-byte values
|
|
- removed unnecessary includes with iwyu
|
|
- libhfnetdriver - general improvements around local socket fuzzing and timeouts
|
|
|
|
2020-04-24 - Version 2.2
|
|
- Added 8bitcnt instrumentation - use hfuzz-cc/hfuzz-8bitcnt-(gcc|clang) for that
|
|
- PC-guard instrumentation now uses edge counting
|
|
- --experimental_const_feedback is now set to true by default
|
|
- additional string instrumentation wrappers: glib, lcms
|
|
- additional mutators: splicing, changing ascii numbers
|
|
- additional integer comparison instrumentation (adding integers to the dynamic dictionary)
|
|
- fixed linking with ld.lld
|
|
- removed `sanitizer-coverage-prune-blocks` from hfuzz-cc.c
|
|
- most mutators have now either overwrite or insert versions
|
|
- fixed memory barriers in libhfuzz/
|
|
- implemented skip_factor which dictates how often a given input is fuzzed
|
|
- lowered the default timeout to 1 second
|
|
- honggfuzz now uses microseconds, instead of milliseconds across the code
|
|
- added some new functions to libhfcommon/files
|
|
- enabled more aggressive inlining in hfuzz-cc/
|
|
- fixed compilation dependency under MacOS X
|
|
|
|
2020-03-03 - Version 2.1
|
|
- string/int comparison enabled for targets built with *SAN, but w/o hfuzz-cc
|
|
- Parallel work made faster by using faster ATOMIC constructs (check first, then update)
|
|
- Implement --experimental_const_feedback - const string/integer feedback (used as an additional dictionary)
|
|
- Sanitizer report files are "better"-deleted (i.e. based on PID and not TID)
|
|
- New patches for fuzzing added (e.g. for bind-9.16.0/9.15.7)
|
|
- Buffered output enabled in display.c
|
|
- Some functions moved from per-arch arch.c to common subproc.c
|
|
- Compilation under MacOS X 10.15 (Catalina) is now supported
|
|
- Added suport for bfd/binutils-2.33
|
|
|
|
2019-12-07 - Version 2.0
|
|
- Coverage-based corpus minimizer with '-M'
|
|
- QEmu mode: coverage feedback for Linux binaries
|
|
- *SAN sanitizer stack-parsing improved for Linux and for POSIX
|
|
- Move signal functionality to libhfcommon/
|
|
- Fixed Android builds with newer unwind and capstone
|
|
- NetDriver: more functionality - e.g. specifying custom addresses and custom tmpfs mount points
|
|
- Examples: for /usr/bin/file, newer ISC Bind patch, improved OpenSSL code
|
|
|
|
2019-05-22 - Version 1.9
|
|
- Don't include netdriver if not needed
|
|
- Updated examples (bind/openssl)
|
|
- Add missing TEMP_FAILURE_RETRY() wrappers
|
|
- Add additional _HF_STATE_DYNAMIC_SWITCH_TO_MAIN state
|
|
|
|
2019-02-23 - Version 1.8
|
|
- Native support for NetBSD
|
|
- Multiple smaller changes wrt threading - e.g. introducing the signal thread
|
|
- Removed the support for -p (pid fuzzing), honggfuzz net driver, or persistent fuzzing mode should be used instead
|
|
- Reimplementation of memory comparison routines, now verified with glibc's test-suite
|
|
- Improved hfuzz-cc/clang/gcc - e.g. for the MacOSX platform, also using -fno-sanitize=fuzzer if -fsanitize=fuzzer is specified, + some samba code wrappers
|
|
- Examples: new corpora for some of those, new patch for ISC Bind (9.13.5)
|
|
|
|
2018-08-23 - Version 1.7
|
|
- Native support for NetBSD
|
|
- ASCII only fuzzing
|
|
- Updated corpora for ISC Bind
|
|
- Printing final stats upon exit
|
|
- Refreshed support for Intel PT
|
|
- Support for __sanitizer_cov_trace_div
|
|
- Updated fuzzing examples for OpenSSL
|
|
|
|
2018-04-19 - Version 1.6 (rev aeaad48)
|
|
- Fixed Dockerfile
|
|
- Fixed a few format problems with file reporting
|
|
- Updated display formatting
|
|
- Make it work under WSL (Windows Subsystem for Linux)
|
|
|
|
2018-02-22 - Version 1.5 (rev 3b1b70b)
|
|
- Persistent fuzzing now works with MacOS-X
|
|
- Fixed some examples/ to make it work with MacOS-X
|
|
- Should compile cleanly with newer MacOS-X versions
|
|
|
|
2018-02-07 - Version 1.4 (rev 28c7d9e)
|
|
- Socketfuzzer by @dobin
|
|
- TCP fuzzer (HonggFuzzer NetDriver) in libhfnetdriver
|
|
- Display: changed layout a bit
|
|
- Fix some compilation isuses for MacOS-X
|
|
- Make it compile with OpenBSD
|
|
- Better examples/ dir: Apache HTTP, ISC Bind
|
|
- Added persistent and netdriver signatures
|
|
- Added missing symbols for newer -fsanitize-coverage (const)
|
|
- Changed internal structures (global vs run)
|
|
- Android: Make it compile with newer SDKs
|
|
|
|
2017-12-09 - Version 1.3 (rev dd9f149)
|
|
- Software instrumentation - support for cmp_const __sanitizer_cov_trace_const funcs
|
|
- Refreshed (mostly) OpenSSL corpora
|
|
- Mangling: additional function for ASCII numbers
|
|
- Support for RLIMIT_DATA limiting
|
|
- Better UI scrolling
|
|
- Simplified Intel PT decoder
|
|
- Removed defer{} / fblocks from libhfuzz
|
|
- Google-style intendation with clang-format
|
|
- Faster locks over global corpora of files
|
|
|
|
2017-11-01 - Version 1.2 (rev 8e04633)
|
|
- Software-based coverage feedback (-z) is now enabled by default, can be disabled with (-x)
|
|
- Better sigprocmask manipulation before executing a process
|
|
- Updated fuzzing corpora for ssl packages
|
|
- Updated Apache HTTPD compilation script/patch, corpora, config and string instrumentation
|
|
- Updated ISC Bind config and fuzzing corpora
|
|
- Fixes for the Android build (thanks to Zach Riggle and Anestis Bechtsoudis)
|
|
- Indentation fixes, now clang-format is used
|
|
|
|
2017-06-23 - Version 1.1 (rev ee3a530)
|
|
- Simplified and improved hfuzz_cc compiler
|
|
- More string instrumentation in libhfuzz
|
|
- Android: works with Android-NDK 15 and newer only
|
|
- Dockerfile
|
|
- Refreshed docs
|
|
- Linux: Faster BTS/PT due to less PMU state resets
|
|
- Linux: tests and by-pass for the Linux' fork-when-multithreaded problem
|
|
- libFuzzer/AFL style dictionaries
|
|
- Runnable under docker/oss-fuzz
|
|
|
|
2017-05-23 - Version 1.0 (rev 4332ae9)
|
|
- Multiple stability improvements for most of the supported architectures
|
|
- More examples in examples/ (e.g. Linux kernel IP for BTS/PT)
|
|
- Documentation updates
|
|
- Added honggfuzz compiler wrapper in hfuzz_cc/
|
|
- Reworked buffer mangling logic
|
|
|
|
2016-02-14 - Version 0.9 (rev b0d1118)
|
|
- Clang >= 4.0 -fsanitize-coverage=trace-pc-guard,indirect-calls,trace-cmp support
|
|
- Multiple examples in examples/
|
|
- --pprocess_cmd for input post-processing
|
|
|
|
2016-09-01 - Version 0.8 (rev 6b9efac)
|
|
- Clang >= 4.0 -fsanitize-coverage=trace-pc,indirect-calls,trace-cmp support
|
|
- GCC/Clang -finstrument-functions support
|
|
- Persistent fuzzing mode (-P) for Linux and POSIX
|
|
- Mutiple smaller fixes (display, stability)
|
|
|
|
2016-03-15 - Version 0.7 (rev 6d01e82)
|
|
- Asan code-coverage (SANCOV) available for all platforms (incl. Windows)
|
|
- Support for Intel PT under Linux v4.0 and newer (and Broadwell/Skylake/newer Intel CPUs)
|
|
- Should work under: Linux, FreeBSD, Mac OS X, Windows/Cygwin, possibly other POSIX-compliant systems
|
|
|
|
2015-08-14 - Version 0.6 (rev aa61adb)
|
|
- Improvements to feedback-driven fuzzing. Using bloom-style filter to record branches (much faster).
|
|
- Using multiple hardware-assisted feedback signals at once.
|
|
- Multiple small things: usage notes, logging
|
|
|
|
2015-02-26 - Version 0.5 (revision 284)
|
|
- Feedback-driven fuzzing on Linux (using Intel's BTS with Linux perf infrastructure for branch counting) (-Dp option)
|
|
- Compiles cleanly and works under FreeBSD 10.1
|
|
- Uses libbfd/libunwind (under Linux) to disassemble offending instructions
|
|
- Many smaller fixes
|
|
|
|
2015-02-01 - Version 0.4 (revision 72)
|
|
- Switch from udis86 to capstone (Capstone is available in many Linux distros as opposed to udis86)
|
|
- OSX 10.10 support
|
|
- Many smaller fixes (esp. for MacOS)
|
|
|
|
2011-07-02 - Version 0.3 (revision 37)
|
|
- Honggfuzz now allows attaching to an external process (-p) (Linux only)
|
|
- -f no longer required when -c (external command) is specified
|
|
- Smaller fixes (typos)
|
|
|
|
2011-06-02 - Version 0.2 (revision 26)
|
|
- MacOS fixes (parsing DiagnosticReports) - solves http://code.google.com/p/honggfuzz/issues/detail?id=2
|
|
- getopt() returns 'int' and not 'char' (could hang the process in a forever-loop)
|
|
- Formatting changes
|
|
- Updated comments/usage
|
|
|
|
2010-12-13 - Initial release 0.1 (revision 13)
|