Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: nfsd: fix XDR padding calculation in ff_encode_getdeviceinfo nfsd4_ff_encode_getdeviceinfo() computes the da_addr_body reservation as 16 + netid_len + addr_len, but the subsequent xdr_encode_opaque() calls emit 8 + round_up(netid_len, 4) + round_up(addr_len, 4) bytes. The mismatch means the declared da_addr_body length exceeds the actual encoded data by 2-8 bytes on every flexfile GETDEVICEINFO reply, leaking stale reply-page content to the client and mis-aligning the subsequent version list decode. Use xdr_align_size() for each string length to match what xdr_encode_opaque() actually writes.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected efcae97fa425ca6db9d126e37daccf2d7225cb09 before 88bce7e326c368d7df15126ccac537e54bebd467; affected efcae97fa425ca6db9d126e37daccf2d7225cb09 before 74015b7be806ad9e21d46f7bd2831df280c6c783; affected efcae97fa425ca6db9d126e37daccf2d7225cb09 before 41ebca28e17f84293650598f86bd69532ec1a8e0; affected efcae97fa425ca6db9d126e37daccf2d7225cb09 before 62e5949f0dd5ec837af144860ff908369df4c7c9; affected efcae97fa425ca6db9d126e37daccf2d7225cb09 before 8b989aaec85e1293a871d602590c951fe44b8647 |
| Linux / Linux | affected 6.4.16 before 6.6.157; affected 6.4.16 before 6.12.109; affected 6.4.16 before 6.18.50; affected 6.4.16 before 7.2.4; affected 6.4.16 before 7.3 |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/88bce7e326c368d7df15126ccac537e54bebd467
- https://git.kernel.org/stable/c/74015b7be806ad9e21d46f7bd2831df280c6c783
- https://git.kernel.org/stable/c/41ebca28e17f84293650598f86bd69532ec1a8e0
- https://git.kernel.org/stable/c/62e5949f0dd5ec837af144860ff908369df4c7c9
- https://git.kernel.org/stable/c/8b989aaec85e1293a871d602590c951fe44b8647