Details
-
Bug
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
3.3.19, 3.4.9
-
None
Description
The rpl_fuzzer tool has been successfully developed and is currently hosted in the 3.3-rpl_fuzz branch.
rpl_fuzzer is designed to systematically test the resilience and correctness of our RPL implementation.
Compiler Requirement: The fuzzer is strictly built around the Clang ecosystem. It utilizes Clang's native code-coverage instrumentation (-fsanitize=fuzzer) and runtime sanitizers (ASan/MSan) to detect memory violations. It will not compile or run using GCC.
- Binlog Event Mutation: The fuzzer generates and mutates raw replication stream payloads (e.g., HEARTBEAT_EVENT, GTID_EVENT, QUERY_EVENT, and ROWS_EVENT).
- API Ingestion: It feeds these malformed binary log events directly into the connector's internal parsing functions (such as the event reading loops and state machines).
- Memory & Crash Monitoring: Combined with Clang’s AddressSanitizer (ASan), it watches for bounds-checking failures, off-by-one errors, or integer overflows that can occur when parsing untrusted, malformed data streams from a remote source.