Out-of-bounds memory write
A native component writes beyond an allocated object because length, index, or allocation assumptions do not agree.
Candidate CWE: CWE-787
Test hypothesis#
Use an instrumented local harness with documented API ownership and realistic input. Minimize the failing bytes and trace the input-derived value into allocation and write. Retest the public consumer and a fixed build; demonstrate memory corruption without turning the PoC into a code-execution payload.
Evidence required#
ASan write trace, allocation extent, triggering values, source location, build flags, minimized input, and normal-input control. State exploitation constraints instead of equating every write overflow with RCE.
Rule out false positives#
The caller violates a required buffer-size contract, the harness underallocates its own output buffer, or the fault belongs to unsupported test-only code.
Playbook and command references#
- Libraries and parsers: bounded fuzzing to a minimal reproducer — Build a realistic local harness, instrument the target, bound fuzzing resources, and turn unique faults into defensible library or consumer reports.
- Source review: entry point to protected operation — Trace attacker control and authorization through handlers, services, queues, and sensitive operations; promote only reachable violations of a stated invariant.
Find the associated command snippets
Referenced by these target playbooks#
Report checklist#
- Capture the affected version, configuration, identities, and object ownership.
- Preserve a valid baseline and a negative control.
- Reproduce the forbidden data access, action, or state change on controlled fixtures.
- Explain the intended security rule and why the observed behavior violates it.
- State prerequisites, uncertainty, cleanup, and the smallest demonstrated impact.
Conditional ATT&CK mapping#
- T1203 · Exploitation for Client Execution — Only if: A client-application vulnerability executes attacker-controlled code when the client processes a file, document, or other content; identify the affected desktop/client process. Not established by: A parser crash alone is insufficient. Ordinary web XSS is not automatically a native client execution exploit, and Mobile uses separate technique IDs.
- T1068 · Exploitation for Privilege Escalation — Only if: A software vulnerability crosses a privilege boundary into a more privileged process or security context; record before/after identities and the vulnerable component. Not established by: Do not infer this from any feature named admin, a writable path alone, or a kernel version match. Application role authorization flaws need their own contextual analysis.