USB: serial: quatech2: fix null-ptr-deref in qt2_process_read_urb()
This patch addresses a null-ptr-deref in qt2_process_read_urb() due to
an incorrect bounds check in the following:
if (newport > serial->num_ports) {
dev_err(&port->dev,
"%s - port change to invalid port: %i\n",
__func__, newport);
break;
}
The condition doesn't account for the valid range of the serial->port
buffer, which is from 0 to serial->num_ports - 1. When newport is equal
to serial->num_ports, the assignment of "port" in the
following code is out-of-bounds and NULL:
serial_priv->current_port = newport;
port = serial->port[serial_priv->current_port];
The fix checks if newport is greater than or equal to serial->num_ports
indicating it is out-of-bounds.
Metrics
Affected Vendors & Products
| Source | ID | Title | 
|---|---|---|
  Debian DLA | 
                DLA-4075-1 | linux security update | 
  Debian DLA | 
                DLA-4076-1 | linux-6.1 security update | 
  EUVD | 
                EUVD-2025-2638 | In the Linux kernel, the following vulnerability has been resolved: USB: serial: quatech2: fix null-ptr-deref in qt2_process_read_urb() This patch addresses a null-ptr-deref in qt2_process_read_urb() due to an incorrect bounds check in the following: if (newport > serial->num_ports) { dev_err(&port->dev, "%s - port change to invalid port: %i\n", __func__, newport); break; } The condition doesn't account for the valid range of the serial->port buffer, which is from 0 to serial->num_ports - 1. When newport is equal to serial->num_ports, the assignment of "port" in the following code is out-of-bounds and NULL: serial_priv->current_port = newport; port = serial->port[serial_priv->current_port]; The fix checks if newport is greater than or equal to serial->num_ports indicating it is out-of-bounds. | 
  Ubuntu USN | 
                USN-7387-1 | Linux kernel vulnerabilities | 
  Ubuntu USN | 
                USN-7387-2 | Linux kernel (FIPS) vulnerabilities | 
  Ubuntu USN | 
                USN-7387-3 | Linux kernel (Real-time) vulnerabilities | 
  Ubuntu USN | 
                USN-7388-1 | Linux kernel vulnerabilities | 
  Ubuntu USN | 
                USN-7389-1 | Linux kernel (NVIDIA Tegra) vulnerabilities | 
  Ubuntu USN | 
                USN-7390-1 | Linux kernel (Xilinx ZynqMP) vulnerabilities | 
  Ubuntu USN | 
                USN-7391-1 | Linux kernel vulnerabilities | 
  Ubuntu USN | 
                USN-7392-1 | Linux kernel vulnerabilities | 
  Ubuntu USN | 
                USN-7392-2 | Linux kernel vulnerabilities | 
  Ubuntu USN | 
                USN-7392-3 | Linux kernel (AWS) vulnerabilities | 
  Ubuntu USN | 
                USN-7392-4 | Linux kernel (AWS FIPS) vulnerabilities | 
  Ubuntu USN | 
                USN-7393-1 | Linux kernel (FIPS) vulnerabilities | 
  Ubuntu USN | 
                USN-7401-1 | Linux kernel (AWS) vulnerabilities | 
  Ubuntu USN | 
                USN-7407-1 | Linux kernel (HWE) vulnerabilities | 
  Ubuntu USN | 
                USN-7413-1 | Linux kernel (IoT) vulnerabilities | 
  Ubuntu USN | 
                USN-7421-1 | Linux kernel (Azure) vulnerabilities | 
  Ubuntu USN | 
                USN-7445-1 | Linux kernel vulnerabilities | 
  Ubuntu USN | 
                USN-7448-1 | Linux kernel vulnerabilities | 
  Ubuntu USN | 
                USN-7458-1 | Linux kernel (IBM) vulnerabilities | 
  Ubuntu USN | 
                USN-7459-1 | Linux kernel (Intel IoTG) vulnerabilities | 
  Ubuntu USN | 
                USN-7459-2 | Linux kernel (GCP) vulnerabilities | 
  Ubuntu USN | 
                USN-7463-1 | Linux kernel (IBM) vulnerabilities | 
  Ubuntu USN | 
                USN-7539-1 | Linux kernel (Raspberry Pi) vulnerabilities | 
  Ubuntu USN | 
                USN-7540-1 | Linux kernel (Raspberry Pi) vulnerabilities | 
  Ubuntu USN | 
                USN-7595-1 | Linux kernel vulnerabilities | 
  Ubuntu USN | 
                USN-7595-2 | Linux kernel (Real-time) vulnerabilities | 
  Ubuntu USN | 
                USN-7595-3 | Linux kernel (Raspberry Pi Real-time) vulnerabilities | 
  Ubuntu USN | 
                USN-7595-4 | Linux kernel vulnerabilities | 
  Ubuntu USN | 
                USN-7595-5 | Linux kernel vulnerabilities | 
  Ubuntu USN | 
                USN-7596-1 | Linux kernel (Azure) vulnerabilities | 
  Ubuntu USN | 
                USN-7596-2 | Linux kernel (Azure, N-Series) vulnerabilities | 
  Ubuntu USN | 
                USN-7653-1 | Linux kernel (HWE) vulnerabilities | 
Solution
No solution given by the vendor.
Workaround
No workaround given by the vendor.
Mon, 03 Nov 2025 21:30:00 +0000
| Type | Values Removed | Values Added | 
|---|---|---|
| References | 
         | 
Wed, 01 Oct 2025 20:15:00 +0000
| Type | Values Removed | Values Added | 
|---|---|---|
| Metrics | 
        
        ssvc
         
  | 
Wed, 16 Jul 2025 13:45:00 +0000
| Type | Values Removed | Values Added | 
|---|---|---|
| Metrics | 
        
        
        epss
         
  | 
    
        
        
        epss
         
  | 
Wed, 14 May 2025 03:00:00 +0000
| Type | Values Removed | Values Added | 
|---|---|---|
| First Time appeared | 
        
        Redhat
         Redhat enterprise Linux  | 
|
| CPEs | cpe:/a:redhat:enterprise_linux:9 cpe:/o:redhat:enterprise_linux:9  | 
|
| Vendors & Products | 
        
        Redhat
         Redhat enterprise Linux  | 
Fri, 21 Feb 2025 17:00:00 +0000
| Type | Values Removed | Values Added | 
|---|---|---|
| First Time appeared | 
        
        Linux
         Linux linux Kernel  | 
|
| CPEs | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:6.13:-:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:6.13:rc1:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:6.13:rc2:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:6.13:rc3:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:6.13:rc4:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:6.13:rc5:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:6.13:rc6:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:6.13:rc7:*:*:*:*:*:*  | 
|
| Vendors & Products | 
        
        Linux
         Linux linux Kernel  | 
Wed, 19 Feb 2025 15:15:00 +0000
| Type | Values Removed | Values Added | 
|---|---|---|
| Weaknesses | CWE-476 | 
Fri, 14 Feb 2025 03:00:00 +0000
| Type | Values Removed | Values Added | 
|---|---|---|
| Metrics | 
        
        
        threat_severity
         
  | 
    
        
        
        threat_severity
         
  | 
Tue, 11 Feb 2025 13:45:00 +0000
| Type | Values Removed | Values Added | 
|---|---|---|
| References | 
         | |
| Metrics | 
        
        
        threat_severity
         
  | 
    
        
        cvssV3_1
         
 
  | 
Mon, 10 Feb 2025 16:15:00 +0000
| Type | Values Removed | Values Added | 
|---|---|---|
| Description | In the Linux kernel, the following vulnerability has been resolved: USB: serial: quatech2: fix null-ptr-deref in qt2_process_read_urb() This patch addresses a null-ptr-deref in qt2_process_read_urb() due to an incorrect bounds check in the following: if (newport > serial->num_ports) { dev_err(&port->dev, "%s - port change to invalid port: %i\n", __func__, newport); break; } The condition doesn't account for the valid range of the serial->port buffer, which is from 0 to serial->num_ports - 1. When newport is equal to serial->num_ports, the assignment of "port" in the following code is out-of-bounds and NULL: serial_priv->current_port = newport; port = serial->port[serial_priv->current_port]; The fix checks if newport is greater than or equal to serial->num_ports indicating it is out-of-bounds. | |
| Title | USB: serial: quatech2: fix null-ptr-deref in qt2_process_read_urb() | |
| References | 
         | 
        
  | 
Status: PUBLISHED
Assigner: Linux
Published:
Updated: 2025-11-03T20:59:10.756Z
Reserved: 2024-12-29T08:45:45.741Z
Link: CVE-2025-21689
Updated: 2025-10-01T15:59:46.997Z
Status : Modified
Published: 2025-02-10T16:15:38.447
Modified: 2025-11-03T21:19:08.123
Link: CVE-2025-21689
                        OpenCVE Enrichment
                    No data.
 Debian DLA
 EUVD
 Ubuntu USN