The flaw affects the convert.base64-encode, convert.quoted-printable-encode, and convert.quoted-printable-decode stream filters in ext-standard. The line-break-chars option tracks its length separately from the string data. The filter constructors use pestrdup(), which stops at the first NUL byte, while retaining the original length.
When a filter emits a line break, it copies the recorded number of bytes from the truncated allocation. That operation reads beyond the allocation and can place adjacent heap bytes into the filter output. Exploitation requires an application to pass attacker-controlled data to line-break-chars, with an embedded NUL byte, and to trigger line-break output. The PHP advisory states that the path can be reached over HTTP where an application forwards request data into filter options; the amount of exposed data depends on heap layout, and a crash is possible on some allocators or builds.