CVE-2022-48819

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

State
Published
Severity
Not scored
Published
Jul 16, 2024
Updated
May 11, 2026
Reserved
Jul 16, 2024

Read the record on cve.org

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.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 9b65b17db72313b7a4fe9bc9502928c88be57986 to before 47f3860c4931175f112f28dcac66eacca9b1040fAffected
  • 9b65b17db72313b7a4fe9bc9502928c88be57986 to before f8d9d938514f46c4892aff6bfe32f425e84d81ccAffected
LinuxLinux
  • 5.16Affected
  • before 5.16Not affected
  • 5.16.10 through 5.16.*Not affected
  • 5.17 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.