@@ -36,6 +36,31 @@ are not limited to):
3636
3737- Malicious ` unserialize() ` inputs.
3838
39+ - Memory exhaustion from a size the input declares, where ` memory_limit `
40+ refuses the allocation and only the current request dies. Reaching a limit
41+ that works as designed is a robustness issue at best.
42+
43+ # Writing a Report We Can Act On
44+
45+ We spend most of a triage rebuilding what a report left out, so cover these
46+ points:
47+
48+ - Reproduce it on a supported branch, through a normal PHP entry point. A crash
49+ is enough, you do not need to write a working exploit. A crash reached only
50+ from a custom fuzzing harness, or by calling an internal C function, leaves
51+ reachability open.
52+
53+ - Tell us if you ran under a sanitizer, a debug build or ` USE_ZEND_ALLOC=0 ` .
54+ The last one turns every ` emalloc() ` into a bare ` malloc() ` and drops the
55+ ` memory_limit ` check, so we read the trace differently.
56+
57+ - Skip the theatrics. Drop the impact essay, send a short reproducer with the
58+ few lines that matter, and make each point once.
59+
60+ - Separate what you observed from what you inferred. A rough CVSS is fine, we
61+ re-derive severity anyway, but a heap corruption that turns out to be a crash
62+ costs us a full analysis.
63+
3964# Vulnerability Policy
4065
4166Our full policy is described at
0 commit comments