dwarfcore.detectors.uaf module¶
- class dwarfcore.detectors.uaf.DetectUseAfterFree(dwarfcore: dwarfcore.dwarfcore.DwarfCore, m: manticore.native.manticore.Manticore, poi_info: Optional[List[mate_common.models.integration.FreeUseInfo]], fast: bool = True, fast_all_poi: bool = False)¶
Bases:
dwarfcore.plugins.heap_common.TrackHeapInformation
Plugin to detect use after free vulnerabilities by tracking allocations.
- Parameters
dwarfcore (DwarfCore) –
m (Manticore) –
poi_info (Optional[List[FreeUseInfo]]) –
fast (bool) –
fast_all_poi (bool) –
- MCORE_TESTCASE_LIST: Final[str] = 'DetectUseAfterFree_testcases'¶
- static intercept_free(state: manticore.native.state.State)¶
- Parameters
state (manticore.native.state.State) –
- static intercept_malloc(state: manticore.native.state.State)¶
- Parameters
state (manticore.native.state.State) –
- manticore¶
- record_testcase(state: manticore.native.state.State, message: str)¶
- Parameters
state (manticore.native.state.State) –
message (str) –
- property results: List[mate_common.models.integration.ReachingTestCase]¶
Any test case results found during execution.
- static taint_allocation_with_va(state: manticore.native.state.State)¶
- Parameters
state (manticore.native.state.State) –
- static taint_allocation_with_va_after(state: manticore.native.state.State)¶
- Parameters
state (manticore.native.state.State) –
- will_read_memory_callback(state: manticore.native.state.State, where: Union[int, manticore.core.smtlib.expression.Expression], _size: Union[int, manticore.core.smtlib.expression.Expression])¶
- Parameters
state (manticore.native.state.State) –
where (Union[int, manticore.core.smtlib.expression.Expression]) –
_size (Union[int, manticore.core.smtlib.expression.Expression]) –
- will_write_memory_callback(state: manticore.native.state.State, where: Union[int, manticore.core.smtlib.expression.Expression], _expression: Union[int, manticore.core.smtlib.expression.Expression], _size: Union[int, manticore.core.smtlib.expression.Expression])¶
- Parameters
state (manticore.native.state.State) –
where (Union[int, manticore.core.smtlib.expression.Expression]) –
_expression (Union[int, manticore.core.smtlib.expression.Expression]) –
_size (Union[int, manticore.core.smtlib.expression.Expression]) –