Description
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 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
3f1a2b0b2d575f39ff0bedb5411822fe7446a805 to < 356decf074b82bac5564568203c12426dcea3470affected19a648a07572c70fbe16faf0fafaf3dce9fd998a to < 15460c8e6c9bc92cda8f68bc419ac082300ab3d6affected6d08bd22fa2941a4d5ef45ed115dd00e484a93d7 to < 9be67a6be48ddf2ebaa98c0df671690b8f9666e7affected6372e2ee629894433fe6107d7048536a3280a284 to < 88bce7e326c368d7df15126ccac537e54bebd467affected6372e2ee629894433fe6107d7048536a3280a284 to < 74015b7be806ad9e21d46f7bd2831df280c6c783affected6372e2ee629894433fe6107d7048536a3280a284 to < 41ebca28e17f84293650598f86bd69532ec1a8e0affected6372e2ee629894433fe6107d7048536a3280a284 to < 62e5949f0dd5ec837af144860ff908369df4c7c9affected6372e2ee629894433fe6107d7048536a3280a284 to < 8b989aaec85e1293a871d602590c951fe44b8647affected82e36f0c287769a0430268739a71dbd56df0e679affected6370e66a71c4869247f8f406c2a8b2c43df8998faffected16282aeca44bfac0d1ac3be6cd1a719d6ff3d749affectedefcae97fa425ca6db9d126e37daccf2d7225cb09affected64c959d59c24c661bd5338e4e6f1f703d7c309a1affected5.10.195 to < 5.10.270affected5.15.132 to < 5.15.221affected6.1.53 to < 6.1.188affected4.14.326 to < 4.15affected4.19.295 to < 4.20affected5.4.257 to < 5.5affected6.4.16 to < 6.5affected6.5.3 to < 6.6affected
Linux Linux
Default version status: affected
6.6affected0 to < 6.6unaffected5.10.270 to ≤ 5.10.*unaffected5.15.221 to ≤ 5.15.*unaffected6.1.188 to ≤ 6.1.*unaffected6.6.157 to ≤ 6.6.*unaffected6.12.109 to ≤ 6.12.*unaffected6.18.50 to ≤ 6.18.*unaffected7.2.4 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/356decf074b82bac5564568203c12426dcea3470 ↗
- https://git.kernel.org/stable/c/15460c8e6c9bc92cda8f68bc419ac082300ab3d6 ↗
- https://git.kernel.org/stable/c/9be67a6be48ddf2ebaa98c0df671690b8f9666e7 ↗
- 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 ↗