Linux: io_uring/net: don't overconsume buffers when using MSG_TRUNC
What fixes it
- 41d24d2fb168fa05fcaf9ec4e55478411dbbf8e1LinuxCVE List
- 927d96f91c582b319d104ecf50ec935a8dc29193LinuxCVE List
- 2e70ea75c7bb38a6dc212975f887310f14f7c043LinuxCVE List
- 6028b543884f8735e057ec9eea4908cd61cab230LinuxCVE List
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
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]
Text from CVE List
Affected versions 10
- Linuxaffected: ae98dbf43d755b4e111fcd086e53939bef3e9a1a before 41d24d2fb168fa05fcaf9ec4e55478411dbbf8e1CVE List
- Linuxaffected: ae98dbf43d755b4e111fcd086e53939bef3e9a1a before 927d96f91c582b319d104ecf50ec935a8dc29193CVE List
- Linuxaffected: ae98dbf43d755b4e111fcd086e53939bef3e9a1a before 2e70ea75c7bb38a6dc212975f887310f14f7c043CVE List
- Linuxaffected: ae98dbf43d755b4e111fcd086e53939bef3e9a1a before 6028b543884f8735e057ec9eea4908cd61cab230CVE List
- Linuxaffected: 6.12CVE List
- Linuxunaffected: all versions before 6.12CVE List
- Linuxunaffected: 6.12.112 through 6.12.*CVE List
- Linuxunaffected: 6.18.53 through 6.18.*CVE List
- Linuxunaffected: 7.2.7 through 7.2.*CVE List
- Linuxunaffected: 7.3CVE List
References 4
- git.kernel.org/stable/c/41d24d2fb168fa05fcaf9ec4e55478411dbbf8e1Referencevia CVE List
- git.kernel.org/stable/c/927d96f91c582b319d104ecf50ec935a8dc29193Referencevia CVE List
- git.kernel.org/stable/c/2e70ea75c7bb38a6dc212975f887310f14f7c043Referencevia CVE List
- git.kernel.org/stable/c/6028b543884f8735e057ec9eea4908cd61cab230Referencevia CVE List