CVE-2026-31705: ksmbd: fix out-of-bounds write in smb2_get_ea() EA alignment
In the Linux kernel, the following vulnerability has been resolved:
ksmbd: fix out-of-bounds write in smb2getea() EA alignment
smb2getea() applies 4-byte alignment padding via memset() after writing each EA entry. The bounds check on buffreelen is performed before the value memcpy, but the alignment memset fires unconditionally afterward with no check on remaining space.
When the EA value exactly fills the remaining buffer (buffreelen == 0 after value subtraction), the alignment memset writes 1-3 NUL bytes past the buffreelen boundary. In compound requests where the response buffer is shared across commands, the first command (e.g., READ) can consume most of the buffer, leaving a tight remainder for the QUERYINFO EA response. The alignment memset then overwrites past the physical kvmalloc allocation into adjacent kernel heap memory.
Add a bounds check before the alignment memset to ensure buffreelen can accommodate the padding bytes.
This is the same bug pattern fixed by commit beef2634f81f ("ksmbd: fix potencial OOB in getfileallinfo() for compound requests") and commit fda9522ed6af ("ksmbd: fix OOB write in QUERYINFO for compound requests"), both of which added bounds checks before unconditional writes in QUERYINFO response handlers.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Linux kernelto a version that resolves this vulnerability.Patch fda9522ed6af - Configuration
Apply the fix from commit fda9522ed6af: in smb2_get_ea(), add a bounds check on buf_free_len before the unconditional 4-byte alignment memset so the padding NUL bytes are not written past the buf_free_len boundary.
ksmbd (smb2_get_ea() EA handling) Add bounds check on buf_free_len before alignment memset = Perform a remaining-space check before calling/performing the alignment memset padding write
Event History
Frequently Asked Questions
What is the severity of CVE-2026-31705?
CVE-2026-31705 has been classified as a high-severity vulnerability due to the potential for out-of-bounds writes.
How do I fix CVE-2026-31705?
To mitigate CVE-2026-31705, update your Linux kernel to the latest version which contains the patch addressing this vulnerability.
Which software is affected by CVE-2026-31705?
CVE-2026-31705 affects the Linux kernel specifically in the ksmbd subsystem handling SMB2 file sharing.
What problem does CVE-2026-31705 address?
CVE-2026-31705 addresses an out-of-bounds write issue in the smb2_get_ea() function related to EA alignment.
Is CVE-2026-31705 related to data leaks?
CVE-2026-31705 does not directly mention data leaks, but out-of-bounds writes can potentially lead to data corruption or exposure.