{"id":"CVE-2026-89673","state":"PUBLISHED","title":"nfsd: fix XDR padding calculation in ff_encode_getdeviceinfo","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnfsd: fix XDR padding calculation in ff_encode_getdeviceinfo\n\nnfsd4_ff_encode_getdeviceinfo() computes the da_addr_body reservation\nas 16 + netid_len + addr_len, but the subsequent xdr_encode_opaque()\ncalls emit 8 + round_up(netid_len, 4) + round_up(addr_len, 4) bytes.\nThe mismatch means the declared da_addr_body length exceeds the actual\nencoded data by 2-8 bytes on every flexfile GETDEVICEINFO reply,\nleaking stale reply-page content to the client and mis-aligning the\nsubsequent version list decode.\n\nUse xdr_align_size() for each string length to match what\nxdr_encode_opaque() actually writes.","publishedAt":"2026-09-11T19:45:58.149Z","updatedAt":"2026-10-24T14:15:11.211Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"3f1a2b0b2d575f39ff0bedb5411822fe7446a805","status":"affected","lessThan":"356decf074b82bac5564568203c12426dcea3470","versionType":"git"},{"version":"19a648a07572c70fbe16faf0fafaf3dce9fd998a","status":"affected","lessThan":"15460c8e6c9bc92cda8f68bc419ac082300ab3d6","versionType":"git"},{"version":"6d08bd22fa2941a4d5ef45ed115dd00e484a93d7","status":"affected","lessThan":"9be67a6be48ddf2ebaa98c0df671690b8f9666e7","versionType":"git"},{"version":"6372e2ee629894433fe6107d7048536a3280a284","status":"affected","lessThan":"88bce7e326c368d7df15126ccac537e54bebd467","versionType":"git"},{"version":"6372e2ee629894433fe6107d7048536a3280a284","status":"affected","lessThan":"74015b7be806ad9e21d46f7bd2831df280c6c783","versionType":"git"},{"version":"6372e2ee629894433fe6107d7048536a3280a284","status":"affected","lessThan":"41ebca28e17f84293650598f86bd69532ec1a8e0","versionType":"git"},{"version":"6372e2ee629894433fe6107d7048536a3280a284","status":"affected","lessThan":"62e5949f0dd5ec837af144860ff908369df4c7c9","versionType":"git"},{"version":"6372e2ee629894433fe6107d7048536a3280a284","status":"affected","lessThan":"8b989aaec85e1293a871d602590c951fe44b8647","versionType":"git"},{"version":"82e36f0c287769a0430268739a71dbd56df0e679","status":"affected","versionType":"git"},{"version":"6370e66a71c4869247f8f406c2a8b2c43df8998f","status":"affected","versionType":"git"},{"version":"16282aeca44bfac0d1ac3be6cd1a719d6ff3d749","status":"affected","versionType":"git"},{"version":"efcae97fa425ca6db9d126e37daccf2d7225cb09","status":"affected","versionType":"git"},{"version":"64c959d59c24c661bd5338e4e6f1f703d7c309a1","status":"affected","versionType":"git"},{"version":"5.10.195","status":"affected","lessThan":"5.10.270","versionType":"semver"},{"version":"5.15.132","status":"affected","lessThan":"5.15.221","versionType":"semver"},{"version":"6.1.53","status":"affected","lessThan":"6.1.188","versionType":"semver"},{"version":"4.14.326","status":"affected","lessThan":"4.15","versionType":"semver"},{"version":"4.19.295","status":"affected","lessThan":"4.20","versionType":"semver"},{"version":"5.4.257","status":"affected","lessThan":"5.5","versionType":"semver"},{"version":"6.4.16","status":"affected","lessThan":"6.5","versionType":"semver"},{"version":"6.5.3","status":"affected","lessThan":"6.6","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/nfsd/flexfilelayoutxdr.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.6","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.6","versionType":"semver"},{"version":"5.10.270","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.221","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.188","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.157","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.109","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.50","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.2.4","status":"unaffected","lessThanOrEqual":"7.2.*","versionType":"semver"},{"version":"7.3","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/nfsd/flexfilelayoutxdr.c"]}],"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"],"weaknesses":[],"ingestedAt":"2026-10-29T20:13:26.108Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/89xxx/CVE-2026-89673.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-89673","state":"PUBLISHED","datePublished":"2026-09-11T19:45:58.149Z","dateUpdated":"2026-10-24T14:15:11.211Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-09-11T19:38:34.746Z"},"containers":{"cna":{"title":"nfsd: fix XDR padding calculation in ff_encode_getdeviceinfo","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nnfsd: fix XDR padding calculation in ff_encode_getdeviceinfo\n\nnfsd4_ff_encode_getdeviceinfo() computes the da_addr_body reservation\nas 16 + netid_len + addr_len, but the subsequent xdr_encode_opaque()\ncalls emit 8 + round_up(netid_len, 4) + round_up(addr_len, 4) bytes.\nThe mismatch means the declared da_addr_body length exceeds the actual\nencoded data by 2-8 bytes on every flexfile GETDEVICEINFO reply,\nleaking stale reply-page content to the client and mis-aligning the\nsubsequent version list decode.\n\nUse xdr_align_size() for each string length to match what\nxdr_encode_opaque() actually writes."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"3f1a2b0b2d575f39ff0bedb5411822fe7446a805","status":"affected","lessThan":"356decf074b82bac5564568203c12426dcea3470","versionType":"git"},{"version":"19a648a07572c70fbe16faf0fafaf3dce9fd998a","status":"affected","lessThan":"15460c8e6c9bc92cda8f68bc419ac082300ab3d6","versionType":"git"},{"version":"6d08bd22fa2941a4d5ef45ed115dd00e484a93d7","status":"affected","lessThan":"9be67a6be48ddf2ebaa98c0df671690b8f9666e7","versionType":"git"},{"version":"6372e2ee629894433fe6107d7048536a3280a284","status":"affected","lessThan":"88bce7e326c368d7df15126ccac537e54bebd467","versionType":"git"},{"version":"6372e2ee629894433fe6107d7048536a3280a284","status":"affected","lessThan":"74015b7be806ad9e21d46f7bd2831df280c6c783","versionType":"git"},{"version":"6372e2ee629894433fe6107d7048536a3280a284","status":"affected","lessThan":"41ebca28e17f84293650598f86bd69532ec1a8e0","versionType":"git"},{"version":"6372e2ee629894433fe6107d7048536a3280a284","status":"affected","lessThan":"62e5949f0dd5ec837af144860ff908369df4c7c9","versionType":"git"},{"version":"6372e2ee629894433fe6107d7048536a3280a284","status":"affected","lessThan":"8b989aaec85e1293a871d602590c951fe44b8647","versionType":"git"},{"version":"82e36f0c287769a0430268739a71dbd56df0e679","status":"affected","versionType":"git"},{"version":"6370e66a71c4869247f8f406c2a8b2c43df8998f","status":"affected","versionType":"git"},{"version":"16282aeca44bfac0d1ac3be6cd1a719d6ff3d749","status":"affected","versionType":"git"},{"version":"efcae97fa425ca6db9d126e37daccf2d7225cb09","status":"affected","versionType":"git"},{"version":"64c959d59c24c661bd5338e4e6f1f703d7c309a1","status":"affected","versionType":"git"},{"version":"5.10.195","status":"affected","lessThan":"5.10.270","versionType":"semver"},{"version":"5.15.132","status":"affected","lessThan":"5.15.221","versionType":"semver"},{"version":"6.1.53","status":"affected","lessThan":"6.1.188","versionType":"semver"},{"version":"4.14.326","status":"affected","lessThan":"4.15","versionType":"semver"},{"version":"4.19.295","status":"affected","lessThan":"4.20","versionType":"semver"},{"version":"5.4.257","status":"affected","lessThan":"5.5","versionType":"semver"},{"version":"6.4.16","status":"affected","lessThan":"6.5","versionType":"semver"},{"version":"6.5.3","status":"affected","lessThan":"6.6","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/nfsd/flexfilelayoutxdr.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.6","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.6","versionType":"semver"},{"version":"5.10.270","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.221","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.188","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.157","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.109","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.50","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.2.4","status":"unaffected","lessThanOrEqual":"7.2.*","versionType":"semver"},{"version":"7.3","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/nfsd/flexfilelayoutxdr.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/356decf074b82bac5564568203c12426dcea3470"},{"url":"https://git.kernel.org/stable/c/15460c8e6c9bc92cda8f68bc419ac082300ab3d6"},{"url":"https://git.kernel.org/stable/c/9be67a6be48ddf2ebaa98c0df671690b8f9666e7"},{"url":"https://git.kernel.org/stable/c/88bce7e326c368d7df15126ccac537e54bebd467"},{"url":"https://git.kernel.org/stable/c/74015b7be806ad9e21d46f7bd2831df280c6c783"},{"url":"https://git.kernel.org/stable/c/41ebca28e17f84293650598f86bd69532ec1a8e0"},{"url":"https://git.kernel.org/stable/c/62e5949f0dd5ec837af144860ff908369df4c7c9"},{"url":"https://git.kernel.org/stable/c/8b989aaec85e1293a871d602590c951fe44b8647"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-10-24T14:15:11.211Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10.195","versionEndExcluding":"5.10.270"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.15.132","versionEndExcluding":"5.15.221"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.1.53","versionEndExcluding":"6.1.188"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.6","versionEndExcluding":"6.6.157"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.6","versionEndExcluding":"6.12.109"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.6","versionEndExcluding":"6.18.50"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.6","versionEndExcluding":"7.2.4"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.6","versionEndExcluding":"7.3"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.14.326"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19.295"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.4.257"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.4.16"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.5.3"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}