io_uring/net: don't overconsume buffers when using MSG_TRUNC
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.12.112, 6.18.53, 7.2.7
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: io_uring/net: don't overconsume buffers when using MSG_TRUNC When a recv/recvmsg is issued with MSG_TRUNC and the incoming packet is larger than the provided buffer, the net layer returns the full length of the packet rather than the number of bytes actually copied into the buffer. As a result, io_uring advances more of the provided buffer ring than was actually filled. Use the actual filled region size to consume the buffer, but still return the full size to preserve MSG_TRUNC semantics. Take care with multishot, because that seems to already truncate the consumption based on the available payload size. This was reported in https://github.com/axboe/liburing/issues/1619. [axboe: fold in size_t unsigned fix]
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From ae98dbf43d755b4e111fcd086e53939bef3e9a1a · fixed in 41d24d2fb168fa05fcaf9ec4e55478411dbbf8e1; From ae98dbf43d755b4e111fcd086e53939bef3e9a1a · fixed in 927d96f91c582b319d104ecf50ec935a8dc29193; From ae98dbf43d755b4e111fcd086e53939bef3e9a1a · fixed in 2e70ea75c7bb38a6dc212975f887310f14f7c043; From ae98dbf43d755b4e111fcd086e53939bef3e9a1a · fixed in 6028b543884f8735e057ec9eea4908cd61cab230
- Linux Linux
6.12
- KernelLinux
From 6.12.0 · fixed in 6.12.112; From 6.13.0 · fixed in 6.18.53; From 6.19.0 · fixed in 7.2.7