CVE-2026-31614

Aliases:UBUNTU-CVE-2026-31614DEBIAN-CVE-2026-31614CGA-9j6f-3vrr-pfpfCGA-9x9v-474p-hcmhCGA-c8q3-2p8x-jrfjCGA-c8qg-794f-wwgcCGA-hm6f-wp88-7hmcCGA-jv7f-7m63-626cCGA-m2mj-c77w-m5xjCGA-mhp2-mvc6-57f8
Analyzed
Published: 24 Apr 2026, 14:42
Last modified:14 Jun 2026, 17:42

Vulnerability Summary

Overall Risk (default)
medium
28/100
CVSS Score
7.1 HIGH
v3.1 (nvd)
EPSS Score
0.13% LOW
0% probability 0.00%
KEV
Not listed
Ransomware
No reports
Public exploits
None found
Dark Web
Not detected

Timeline

24 Apr 2026, 14:42
Published
Vulnerability first disclosed
14 Jun 2026, 17:42
Last Modified
Vulnerability information updated

Description

In the Linux kernel, the following vulnerability has been resolved: smb: client: fix off-by-8 bounds check in check_wsl_eas() The bounds check uses (u8 *)ea + nlen + 1 + vlen as the end of the EA name and value, but ea_data sits at offset sizeof(struct smb2_file_full_ea_info) = 8 from ea, not at offset 0. The strncmp() later reads ea->ea_data[0..nlen-1] and the value bytes follow at ea_data[nlen+1..nlen+vlen], so the actual end is ea->ea_data + nlen + 1 + vlen. Isn't pointer math fun? The earlier check (u8 *)ea > end - sizeof(*ea) only guarantees the 8-byte header is in bounds, but since the last EA is placed within 8 bytes of the end of the response, the name and value bytes are read past the end of iov. Fix this mess all up by using ea->ea_data as the base for the bounds check. An "untrusted" server can use this to leak up to 8 bytes of kernel heap into the EA name comparison and influence which WSL xattr the data is interpreted as.

CVSS Metrics

  • v3.1HIGHScore: 7.1CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H

EPSS Trends

Current EPSS score: 0.13% Percentile: 3%

Techniques & Countermeasures

  • CWE-125Out-of-bounds Read

    The product reads data past the end, or before the beginning, of the intended buffer.

Affected Systems

  • chainguardlinux-aws-6.18

    < 6.18.31-r0

  • chainguardlinux-azure-6.18

    < 6.18.31-r0

  • chainguardlinux-gcp-6.18

    < 6.18.31-r0

  • chainguardlinux-qemu-6.12

    < 6.12.85-r0

  • chainguardlinux-qemu-6.18

    < 6.18.31-r0

  • chainguardlinux-qemu-6.18-bootc-boot-installed

    < 6.18.31-r0

  • chainguardlinux-vmware-6.12

    < 6.12.85-r0

  • chainguardlinux-vmware-6.18

    < 6.18.31-r0

  • debianlinux

    < 6.12.85-1 | < 6.19.14-1

  • ubuntulinux

    all | all | all | all | < 7.0.0-27.27

  • ubuntulinux-allwinner-5.19

    all

  • ubuntulinux-aws

    all | all | all | all | < 7.0.0-1008.8

  • ubuntulinux-aws-5.0

    all

  • ubuntulinux-aws-5.11

    all

  • ubuntulinux-aws-5.13

    all

  • ubuntulinux-aws-5.15

    all

  • ubuntulinux-aws-5.19

    all

  • ubuntulinux-aws-5.3

    all

  • ubuntulinux-aws-5.4

    all

  • ubuntulinux-aws-5.8

    all

  • ubuntulinux-aws-6.14

    all

  • ubuntulinux-aws-6.17

    all

  • ubuntulinux-aws-6.2

    all

  • ubuntulinux-aws-6.5

    all

  • ubuntulinux-aws-6.8

    all

  • ubuntulinux-aws-fips

    all

  • ubuntulinux-aws-hwe

    all

  • ubuntulinux-azure

    all | all | all | all | all | < 7.0.0-1010.10

  • ubuntulinux-azure-4.15

    all

  • ubuntulinux-azure-5.11

    all

  • ubuntulinux-azure-5.13

    all

  • ubuntulinux-azure-5.15

    all

  • ubuntulinux-azure-5.19

    all

  • ubuntulinux-azure-5.3

    all

  • ubuntulinux-azure-5.4

    all

  • ubuntulinux-azure-5.8

    all

  • ubuntulinux-azure-6.11

    all

  • ubuntulinux-azure-6.14

    all

  • ubuntulinux-azure-6.17

    all

  • ubuntulinux-azure-6.2

    all

  • ubuntulinux-azure-6.5

    all

  • ubuntulinux-azure-6.8

    all

  • ubuntulinux-azure-edge

    all

  • ubuntulinux-azure-fde

    all | all | all | all | < 7.0.0-1009.9

  • ubuntulinux-azure-fde-5.15

    all

  • ubuntulinux-azure-fde-5.19

    all

  • ubuntulinux-azure-fde-6.14

    all

  • ubuntulinux-azure-fde-6.17

    all

  • ubuntulinux-azure-fde-6.2

    all

  • ubuntulinux-azure-fde-6.8

    all

Showing first 50 affected entries in server-rendered view.

References (15)