CVE-2022-48819 Information

Description

In the Linux kernel the following vulnerability has been resolved:

tcp: take care of mixed splice()/sendmsg(MSG_ZEROCOPY) case

syzbot found that mixing sendpage() and sendmsg(MSG_ZEROCOPY) calls over the same TCP socket would again trigger the infamous warning in inet_sock_destruct()

WARN_ON(sk_forward_alloc_get(sk));

While Talal took into account a mix of regular copied data and MSG_ZEROCOPY one in the same skb the sendpage() path has been forgotten.

We want the charging to happen for sendpage() because pages could be coming from a pipe. What is missing is the downgrading of pure zerocopy status to make sure sk_forward_alloc will stay synced.

Add tcp_downgrade_zcopy_pure() helper so that we can use it from the two callers.

Reference

https://git.kernel.org/stable/c/47f3860c4931175f112f28dcac66eacca9b1040f https://git.kernel.org/stable/c/f8d9d938514f46c4892aff6bfe32f425e84d81cc

Share on: