All vulnerabilities
CVE-2026-98170

Linux: smb: client: fix OOB struct field reads in move_smb2_ea_to_cifs()

Linux LinuxOperating systems
CVSS
NoneNot scored
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)0.20%Chance of exploitation activity in the next 30 days, higher than 9% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed in61812323c037a94e2e7f0db7ee740c34b126bffeAlso 34a3942e787b9c59758115bd65fe1ec89d68c7a4, 13efcd37a9b3d6ffa1579c3dda3e29c893ed9bcaCVE List
Published6 Oct 2026Updated 21 Oct 2026CVE List

What fixes it

  • 61812323c037a94e2e7f0db7ee740c34b126bffeLinuxCVE List
  • 34a3942e787b9c59758115bd65fe1ec89d68c7a4LinuxCVE List
  • 13efcd37a9b3d6ffa1579c3dda3e29c893ed9bcaLinuxCVE List

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

Description

In the Linux kernel, the following vulnerability has been resolved:

smb: client: fix OOB struct field reads in move_smb2_ea_to_cifs()

In move_smb2_ea_to_cifs(), the while (src_size > 0) loop condition is insufficient. It allows iteration to continue even if the remaining src_size is too small to contain a complete smb2_ea_info structure. Consequently, reads of ea_name_length and ea_value_length can occur out-of-bounds.

Fix this by ensuring src_size >= sizeof(*src) before attempting to read any structure fields. Additionally, reject any next_entry_offset that is smaller than sizeof(*src) or that would advance the pointer beyond the available buffer.

Note that for calls where the server returns a malformed EA list, the error returned to userspace changes from -ENODATA (getxattr) or -ERANGE (listxattr) to -EIO. This correctly signals a server protocol error rather than misleadingly indicating "attribute not present" or "output buffer too small".

Text from CVE List

Affected versions 12

  • Linuxaffected: 95907fea4fd8ccc736e0a428e52159b4d42b9958 before 61812323c037a94e2e7f0db7ee740c34b126bffeCVE List
  • Linuxaffected: 95907fea4fd8ccc736e0a428e52159b4d42b9958 before d3546cecbf81d98bf3b472d341f981eb48c04f47CVE List
  • Linuxaffected: 95907fea4fd8ccc736e0a428e52159b4d42b9958 before 34a3942e787b9c59758115bd65fe1ec89d68c7a4CVE List
  • Linuxaffected: 95907fea4fd8ccc736e0a428e52159b4d42b9958 before 13efcd37a9b3d6ffa1579c3dda3e29c893ed9bcaCVE List
  • Linuxaffected: 95907fea4fd8ccc736e0a428e52159b4d42b9958 before eeb5ef6083e1cefa2ef75041b5597ff228b8d7bbCVE List
  • Linuxaffected: 4.14CVE List
  • Linuxunaffected: all versions before 4.14CVE List
  • Linuxunaffected: 6.6.160 through 6.6.*CVE List
  • Linuxunaffected: 6.12.112 through 6.12.*CVE List
  • Linuxunaffected: 6.18.54 through 6.18.*CVE List
  • Linuxunaffected: 7.2.8 through 7.2.*CVE List
  • Linuxunaffected: 7.3CVE List

References 5