Description
In the Linux kernel, the following vulnerability has been resolved: NFSD: Fix ia_size underflow iattr::ia_size is a loff_t, which is a signed 64-bit type. NFSv3 and NFSv4 both define file size as an unsigned 64-bit type. Thus there is a range of valid file size values an NFS client can send that is already larger than Linux can handle. Currently decode_fattr4() dumps a full u64 value into ia_size. If that value happens to be larger than S64_MAX, then ia_size underflows. I'm about to fix up the NFSv3 behavior as well, so let's catch the underflow in the common code path: nfsd_setattr().
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < d2211e6e34d0755f35e2f8c22d81999fa81cfc71affected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < 38d02ba22e43b6fc7d291cf724bc6e3b7be6626baffected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < 8e0ecaf7a7e57b30284d6b3289cc436100fadc48affected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < da22ca1ad548429d7822011c54cfe210718e0aa7affected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < e6faac3f58c7c4176b66f63def17a34232a17b0eaffected
Linux Linux
Default version status: affected
2.6.12affected0 to < 2.6.12unaffected5.4.295 to ≤ 5.4.*unaffected5.10.220 to ≤ 5.10.*unaffected5.15.24 to ≤ 5.15.*unaffected5.16.10 to ≤ 5.16.*unaffected5.17 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/d2211e6e34d0755f35e2f8c22d81999fa81cfc71 ↗
- https://git.kernel.org/stable/c/38d02ba22e43b6fc7d291cf724bc6e3b7be6626b ↗
- https://git.kernel.org/stable/c/8e0ecaf7a7e57b30284d6b3289cc436100fadc48 ↗
- https://git.kernel.org/stable/c/da22ca1ad548429d7822011c54cfe210718e0aa7 ↗
- https://git.kernel.org/stable/c/e6faac3f58c7c4176b66f63def17a34232a17b0e ↗
- https://cert-portal.siemens.com/productcert/html/ssa-265688.html ↗
- https://cert-portal.siemens.com/productcert/html/ssa-355557.html ↗