U.S. flag   An official website of the United States government
Dot gov

Official websites use .gov
A .gov website belongs to an official government organization in the United States.

Https

Secure .gov websites use HTTPS
A lock (Dot gov) or https:// means you've safely connected to the .gov website. Share sensitive information only on official, secure websites.

Vulnerability Change Records for CVE-2026-64014

Change History

New CVE Received from kernel.org 7/19/2026 12:17:41 PM

Action Type Old Value New Value
Added Description

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

Input: usbtouchscreen - clamp NEXIO data_len/x_len to URB buffer size

nexio_read_data() pulls data_len and x_len from a packed __be16 header
in the device's interrupt packet and then walks packet->data[0..x_len)
and packet->data[x_len..data_len) comparing each byte against a
threshold.

Both fields are 16-bit on the wire (max 65535).  The existing
adjustments shave at most 0x100 / 0x80 off, so the loop bound can still
reach roughly 0xfeff.  The URB transfer buffer for NEXIO is rept_size
(1024) bytes from usb_alloc_coherent(), with the first 7 occupied by the
packed header — so packet->data[] has 1017 valid bytes.  read_data()
callbacks are not given urb->actual_length, and nothing else bounds the
walk.

A device that lies about its length can get a ~64 KiB out-of-bounds read
past the coherent DMA allocation.  The first index whose byte exceeds
NEXIO_THRESHOLD lands in begin_x / begin_y and from there into the
reported touch coordinates, so adjacent kernel memory contents leak to
userspace as ABS_X / ABS_Y events.  Far enough out, the read can also
hit an unmapped page and fault.

Fix this all by clamping data_len to the buffer's data[] capacity and
x_len to data_len.
Added Reference

                  
                
              
https://git.kernel.org/stable/c/0ca809ea8e0355299266c46e5f1755040aa8dcf3
Added Reference

                  
                
              
https://git.kernel.org/stable/c/103d2de9f505f56da173e43f12dba62f92620278
Added Reference

                  
                
              
https://git.kernel.org/stable/c/2905281cbda52ec9df540113b35b835feb5fafd3
Added Reference

                  
                
              
https://git.kernel.org/stable/c/45c829e5eb3b974282bae50b7cca2cc891f74f0b
Added Reference

                  
                
              
https://git.kernel.org/stable/c/7585b6aa55d8ac85ad22f522e1059f93507727b6
Added Reference

                  
                
              
https://git.kernel.org/stable/c/95f47331dfde243f93e679ce70bd0c24b37c683d
Added Reference

                  
                
              
https://git.kernel.org/stable/c/d883312061ccde8c536595998aaf687ec070077c
Added Reference

                  
                
              
https://git.kernel.org/stable/c/e7cdcb266ba06d8480809b78ab8bb2bf8ff51ccb
Added Affected

                  
                
              
[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","programFiles":["drivers/input/touchscreen/usbtouchscreen.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","versions":[{"version":"5197424cdcccd2b0b1922babb93969b2515c43ce","lessThan":"45c829e5eb3b974282bae50b7cca2cc891f74f0b","versionType":"git","status":"affected"},{"version":"5197424cdcccd2b0b1922babb93969b2515c43ce","lessThan":"e7cdcb266ba06d8480809b78ab8bb2bf8ff51ccb","versionType":"git","status":"affected"},{"version":"5197424cdcccd2b0b1922babb93969b2515c43ce","lessThan":"95f47331dfde243f93e679ce70bd0c24b37c683d","versionType":"git","status":"affected"},{"version":"5197424cdcccd2b0b1922babb93969b2515c43ce","lessThan":"d883312061ccde8c536595998aaf687ec070077c","versionType":"git","status":"affected"},{"version":"5197424cdcccd2b0b1922babb93969b2515c43ce","lessThan":"103d2de9f505f56da173e43f12dba62f92620278","versionType":"git","status":"affected"},{"version":"5197424cdcccd2b0b1922babb93969b2515c43ce","lessThan":"0ca809ea8e0355299266c46e5f1755040aa8dcf3","versionType":"git","status":"affected"},{"version":"5197424cdcccd2b0b1922babb93969b2515c43ce","lessThan":"7585b6aa55d8ac85ad22f522e1059f93507727b6","versionType":"git","status":"affected"},{"version":"5197424cdcccd2b0b1922babb93969b2515c43ce","lessThan":"2905281cbda52ec9df540113b35b835feb5fafd3","versionType":"git","status":"affected"}]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","programFiles":["drivers/input/touchscreen/usbtouchscreen.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","versions":[{"version":"2.6.34","status":"affected"},{"version":"0","lessThan":"2.6.34","versionType":"semver","status":"unaffected"},{"version":"5.10.259","lessThanOrEqual":"5.10.*","versionType":"semver","status":"unaffected"},{"version":"5.15.210","lessThanOrEqual":"5.15.*","versionType":"semver","status":"unaffected"},{"version":"6.1.176","lessThanOrEqual":"6.1.*","versionType":"semver","status":"unaffected"},{"version":"6.6.143","lessThanOrEqual":"6.6.*","versionType":"semver","status":"unaffected"},{"version":"6.12.93","lessThanOrEqual":"6.12.*","versionType":"semver","status":"unaffected"},{"version":"6.18.35","lessThanOrEqual":"6.18.*","versionType":"semver","status":"unaffected"},{"version":"7.0.12","lessThanOrEqual":"7.0.*","versionType":"semver","status":"unaffected"},{"version":"7.1","lessThanOrEqual":"*","versionType":"original_commit_for_fix","status":"unaffected"}]}]