v5.0.0
New Features:
- Added Windows support with a new Frida Executor
- Support for persistent-mode fuzzing with three new features:
- In-memory test-case delivery
- Support for SUTs compiled with AFL++-based deferred initialization (AFL_INIT())
- Support for SUTs compiled with AFL++-based single-process persistence loop (AFL_LOOP(...))
- Added persistent mode unit tests
- New DictionaryMutator module that accepts user-specified tokens to use for mutation.
- Tokens are selected randomly and inserted at random offsets in the testcase buffer
- New feature in the SaveCorpusOutput module to output mutator information per test case
- This required changes to SaveCorpusOutput, ConfigInterface, ConfigManager, ModuleFactory, ModuleManager, and each input generator module
- New TrivialSeedInitialization module to start fuzzing without seeds
- New VmfTestLib library to aid unit test builds in Experimental/Extension repos
Updates and Bug Fixes:
- Added a migration guide for VMF 5.0.0
- Added a check in storage to prevent duplicated deletes of a single entry
- Fixed a compiler error for an uninitialized variable in AFLForkserverExecutor
- Fixed an issue with map sizes being off by one in some cases
- Now supporting AFL++ instrumentation and handshake protocol up to v4.30
- Changed support for AFL++ cmplog instrumentation to currently only support v4.30
- We anticipate future code refactors to enable better backwards compatibility.
- StringsInitialization module updated to produce strings readable by the DictionaryMutator module.
- Added a configuration option to AFLForkserverExecutor to skip kernel.core_pattern check
- Minor updates to documentation
- Fixed broken links
- Added missing configuration option descriptions
- Docker changes
- Updated KLEE docker container signature checks
- Pinned Dockerfile builds to Clang/LLVM 18
- Fixed issue in KLEE post-processing script
- Added UINT64 type to Storage
- Fixed divide-by-zero error in Grammatron modules
- Added Windows build support to VmfExtension, VmfExperimental, VmfGovExperimental
- AFLForkserverExecutor updates:
- Added config option to skip the kernel coredump pattern check
- Updates to Unit Tests for AFL++ version compatibility checks
- Fixed AFLMutator Test
- Fixed an issue where ConfigManager occasionally loaded vmfVariables out of order
Note: CDMS has not changed since VMF 3.2, so no upgrade is required for VMF 5.0.0
Release binaries SHA256:
- CDMS.war: 052b61544d9d2c084f2ff3632d2564eb3358cbff95e7aa441c2c9ddf47a00650
- emptycdms.db: 38788934bef348e0ce77c7a03145c1e969c4092b3505b1f7e98e5c3f8e099813