In the Linux kernel, the following vulnerability has been resolved:
mptcp: fix data stream corruption
Maxim reported several issues when forcing a TCP transparent proxy to use the MPTCP protocol for the inbound connections. He also provided a clean reproducer.
The problem boils down to 'mptcpfragcancollapseto()' assuming that only MPTCP will use the given page_frag.
If others - e.g. the plain TCP protocol - allocate page fragments, we can end-up re-using already allocated memory for mptcpdatafrag.
Fix the issue ensuring that the to-be-expanded data fragment is located at the current page frag end.
v1 -> v2: - added missing fixes tag (Mat)