CVE-2025-21877: usbnet: gl620a: fix endpoint checking in genelink_bind()

Published Mar 27, 2025
·
Updated

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

usbnet: gl620a: fix endpoint checking in genelinkbind()

Syzbot reports [1] a warning in usbsubmiturb() triggered by inconsistencies between expected and actually present endpoints in gl620a driver. Since genelinkbind() does not properly verify whether specified eps are in fact provided by the device, in this case, an artificially manufactured one, one may get a mismatch.

Fix the issue by resorting to a usbnet utility function usbnetgetendpoints(), usually reserved for this very problem. Check for endpoints and return early before proceeding further if any are missing.

[1] Syzbot report: usb 5-1: Manufacturer: syz usb 5-1: SerialNumber: syz usb 5-1: config 0 descriptor?? gl620a 5-1:0.23 usb0: register 'gl620a' at usb-dummyhcd.0-1, ... ------------[ cut here ]------------ usb 5-1: BOGUS urb xfer, pipe 3 != type 1 WARNING: CPU: 2 PID: 1841 at drivers/usb/core/urb.c:503 usbsubmiturb+0xe4b/0x1730 drivers/usb/core/urb.c:503 Modules linked in: CPU: 2 UID: 0 PID: 1841 Comm: kworker/2:2 Not tainted 6.12.0-syzkaller-07834-g06afb0f36106 #0 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 Workqueue: mld mldifcwork RIP: 0010:usbsubmiturb+0xe4b/0x1730 drivers/usb/core/urb.c:503 ... Call Trace: <TASK> usbnetstartxmit+0x6be/0x2780 drivers/net/usb/usbnet.c:1467 netdevstartxmit include/linux/netdevice.h:5002 [inline] netdevstartxmit include/linux/netdevice.h:5011 [inline] xmitone net/core/dev.c:3590 [inline] devhardstartxmit+0x9a/0x7b0 net/core/dev.c:3606 schdirectxmit+0x1ae/0xc30 net/sched/schgeneric.c:343 devxmitskb net/core/dev.c:3827 [inline] devqueuexmit+0x13d4/0x43e0 net/core/dev.c:4400 devqueuexmit include/linux/netdevice.h:3168 [inline] neighresolveoutput net/core/neighbour.c:1514 [inline] neighresolveoutput+0x5bc/0x950 net/core/neighbour.c:1494 neighoutput include/net/neighbour.h:539 [inline] ip6finishoutput2+0xb1b/0x2070 net/ipv6/ip6output.c:141 ip6finishoutput net/ipv6/ip6output.c:215 [inline] ip6finishoutput+0x3f9/0x1360 net/ipv6/ip6output.c:226 NFHOOKCOND include/linux/netfilter.h:303 [inline] ip6output+0x1f8/0x540 net/ipv6/ip6output.c:247 dstoutput include/net/dst.h:450 [inline] NFHOOK include/linux/netfilter.h:314 [inline] NFHOOK include/linux/netfilter.h:308 [inline] mldsendpack+0x9f0/0x11d0 net/ipv6/mcast.c:1819 mldsendcr net/ipv6/mcast.c:2120 [inline] mldifcwork+0x740/0xca0 net/ipv6/mcast.c:2651 processonework+0x9c5/0x1ba0 kernel/workqueue.c:3229 processscheduledworks kernel/workqueue.c:3310 [inline] workerthread+0x6c8/0xf00 kernel/workqueue.c:3391 kthread+0x2c1/0x3a0 kernel/kthread.c:389 retfromfork+0x45/0x80 arch/x86/kernel/process.c:147 retfromforkasm+0x1a/0x30 arch/x86/entry/entry64.S:244 </TASK>

Affected Software

224 affected componentsFixes available
Linux Kernel
Linux Linux kernel>=2.6.14<5.4.291
Linux Linux kernel>=5.5<5.10.235
Linux Linux kernel>=5.11<5.15.179
Linux Linux kernel>=5.16<6.1.130
Linux Linux kernel>=6.2<6.6.81
Linux Linux kernel>=6.7<6.12.18
Linux Linux kernel>=6.13<6.13.6
Linux Linux kernel=6.14-rc1
Linux Linux kernel=6.14-rc2
Linux Linux kernel=6.14-rc3
Linux Linux kernel=6.14-rc4
ubuntu/linux*
ubuntu/linux-aws*
ubuntu/linux-azure*
ubuntu/linux-lts-xenial*
ubuntu/linux*
ubuntu/linux-aws*
ubuntu/linux-aws-hwe*
ubuntu/linux-azure*
ubuntu/linux-gcp*
ubuntu/linux-hwe*
ubuntu/linux-hwe-edge*
ubuntu/linux-kvm*
ubuntu/linux-oracle*
ubuntu/linux-fips*
ubuntu/linux-fips*
ubuntu/linux*
ubuntu/linux-aws*
ubuntu/linux-aws-5.0*
ubuntu/linux-aws-5.3*
ubuntu/linux-aws-5.4<5.4.0-1146.156~18.04.1
5.4.0-1146.156~18.04.1
ubuntu/linux-azure*
ubuntu/linux-azure-4.15*
ubuntu/linux-azure-5.3*
ubuntu/linux-azure-5.4<5.4.0-1151.158~18.04.1
5.4.0-1151.158~18.04.1
ubuntu/linux-azure-edge*
ubuntu/linux-gcp*
ubuntu/linux-gcp-4.15*
ubuntu/linux-gcp-5.3*
ubuntu/linux-gcp-5.4<5.4.0-1149.158~18.04.1
5.4.0-1149.158~18.04.1
ubuntu/linux-gke-4.15*
ubuntu/linux-gke-5.4*
ubuntu/linux-gkeop-5.4*
ubuntu/linux-hwe*
ubuntu/linux-hwe-5.4<5.4.0-216.236~18.04.1
5.4.0-216.236~18.04.1
ubuntu/linux-hwe-edge*
ubuntu/linux-ibm-5.4<5.4.0-1092.97~18.04.1
5.4.0-1092.97~18.04.1
ubuntu/linux-kvm*
ubuntu/linux-oem*
ubuntu/linux-oracle*
ubuntu/linux-oracle-5.0*
ubuntu/linux-oracle-5.3*
ubuntu/linux-oracle-5.4<5.4.0-1144.154~18.04.1
5.4.0-1144.154~18.04.1
ubuntu/linux-raspi-5.4<5.4.0-1129.142~18.04.1
5.4.0-1129.142~18.04.1
ubuntu/linux-aws-fips*
ubuntu/linux-azure-fips*
ubuntu/linux-fips*
ubuntu/linux-gcp-fips*
ubuntu/linux-aws-fips*
ubuntu/linux-azure-fips*
ubuntu/linux-fips*
ubuntu/linux-gcp-fips*
ubuntu/linux<5.4.0-216.236
5.4.0-216.236
ubuntu/linux-aws<5.4.0-1146.156
5.4.0-1146.156
ubuntu/linux-aws-5.15<5.15.0-1084.91~20.04.1
5.15.0-1084.91~20.04.1
ubuntu/linux-azure<5.4.0-1151.158
5.4.0-1151.158
ubuntu/linux-azure-5.15<5.15.0-1089.98~20.04.1
5.15.0-1089.98~20.04.1
ubuntu/linux-bluefield<5.4.0-1105.112
5.4.0-1105.112
ubuntu/linux-gcp<5.4.0-1149.158
5.4.0-1149.158
ubuntu/linux-gcp-5.15<5.15.0-1083.92~20.04.1
5.15.0-1083.92~20.04.1
ubuntu/linux-ibm<5.4.0-1092.97
5.4.0-1092.97
ubuntu/linux-ibm-5.15<5.15.0-1076.79~20.04.1
5.15.0-1076.79~20.04.1
ubuntu/linux-intel-iotg-5.15<5.15.0-1079.85~20.04.1
5.15.0-1079.85~20.04.1
ubuntu/linux-kvm<5.4.0-1133.142
5.4.0-1133.142
ubuntu/linux-lowlatency-hwe-5.15<5.15.0-140.150~20.04.1
5.15.0-140.150~20.04.1
ubuntu/linux-oracle<5.4.0-1144.154
5.4.0-1144.154
ubuntu/linux-oracle-5.15<5.15.0-1081.87~20.04.1
5.15.0-1081.87~20.04.1
ubuntu/linux-raspi<5.4.0-1129.142
5.4.0-1129.142
ubuntu/linux-riscv-5.15<5.15.0-1079.83~20.04.1
5.15.0-1079.83~20.04.1
ubuntu/linux-xilinx-zynqmp<5.4.0-1064.68
5.4.0-1064.68
ubuntu/linux-aws-5.11*
ubuntu/linux-aws-5.13*
ubuntu/linux-aws-5.8*
ubuntu/linux-azure-5.11*
ubuntu/linux-azure-5.13*
ubuntu/linux-azure-5.8*
ubuntu/linux-azure-fde*
ubuntu/linux-gcp-5.11*
ubuntu/linux-gcp-5.13*
ubuntu/linux-gcp-5.8*
ubuntu/linux-gke*
ubuntu/linux-gke-5.15*
ubuntu/linux-gkeop*
ubuntu/linux-gkeop-5.15*
ubuntu/linux-hwe-5.11*
ubuntu/linux-hwe-5.13*
ubuntu/linux-hwe-5.15<5.15.0-142.152~20.04.1
5.15.0-142.152~20.04.1
ubuntu/linux-hwe-5.8*
ubuntu/linux-intel-5.13*
ubuntu/linux-iot<5.4.0-1051.54
5.4.0-1051.54
ubuntu/linux-nvidia-tegra-5.15<5.15.0-1039.39~20.04.1
5.15.0-1039.39~20.04.1
ubuntu/linux-oem-5.10*
ubuntu/linux-oem-5.13*
ubuntu/linux-oem-5.6*
ubuntu/linux-oracle-5.11*
ubuntu/linux-oracle-5.13*
ubuntu/linux-oracle-5.8*
ubuntu/linux-raspi2*
ubuntu/linux-riscv*
ubuntu/linux-riscv-5.11*
ubuntu/linux-riscv-5.8*
ubuntu/linux-aws-fips<5.4.0-1146.156+fips1
5.4.0-1146.156+fips1
ubuntu/linux-azure-fips<5.4.0-1151.158+fips1
5.4.0-1151.158+fips1
ubuntu/linux-fips<5.4.0-1120.130
5.4.0-1120.130
ubuntu/linux-gcp-fips<5.4.0-1149.158+fips1
5.4.0-1149.158+fips1
ubuntu/linux-aws-fips*
ubuntu/linux-azure-fips*
ubuntu/linux-fips*
ubuntu/linux-gcp-fips*
ubuntu/linux<5.15.0-140.150
5.15.0-140.150
ubuntu/linux-allwinner-5.19*
ubuntu/linux-aws<5.15.0-1084.91
5.15.0-1084.91
ubuntu/linux-aws-5.19*
ubuntu/linux-aws-6.2*
ubuntu/linux-aws-6.5*
ubuntu/linux-aws-6.8<6.8.0-1039.41~22.04.1
6.8.0-1039.41~22.04.1
ubuntu/linux-azure<5.15.0-1089.98
5.15.0-1089.98
ubuntu/linux-azure-5.19*
ubuntu/linux-azure-6.2*
ubuntu/linux-azure-6.5*
ubuntu/linux-azure-6.8<6.8.0-1036.42~22.04.1
6.8.0-1036.42~22.04.1
ubuntu/linux-azure-fde<5.15.0-1089.98.1
5.15.0-1089.98.1
ubuntu/linux-azure-fde-5.19*
ubuntu/linux-azure-fde-6.2*
ubuntu/linux-gcp<5.15.0-1083.92
5.15.0-1083.92
ubuntu/linux-gcp-5.19*
ubuntu/linux-gcp-6.2*
ubuntu/linux-gcp-6.5*
ubuntu/linux-gcp-6.8<6.8.0-1040.42~22.04.1
6.8.0-1040.42~22.04.1
ubuntu/linux-gke<5.15.0-1081.87
5.15.0-1081.87
ubuntu/linux-gkeop<5.15.0-1066.74
5.15.0-1066.74
ubuntu/linux-hwe-5.19*
ubuntu/linux-hwe-6.2*
ubuntu/linux-hwe-6.5*
ubuntu/linux-hwe-6.8<6.8.0-85.85~22.04.1
6.8.0-85.85~22.04.1
ubuntu/linux-ibm<5.15.0-1076.79
5.15.0-1076.79
ubuntu/linux-ibm-6.8<6.8.0-1037.37~22.04.1
6.8.0-1037.37~22.04.1
ubuntu/linux-intel-iot-realtime*
ubuntu/linux-intel-iotg<5.15.0-1079.85
5.15.0-1079.85
ubuntu/linux-kvm<5.15.0-1080.85
5.15.0-1080.85
ubuntu/linux-lowlatency<5.15.0-140.150
5.15.0-140.150
ubuntu/linux-lowlatency-hwe-5.19*
ubuntu/linux-lowlatency-hwe-6.2*
ubuntu/linux-lowlatency-hwe-6.5*
ubuntu/linux-lowlatency-hwe-6.8<6.8.0-84.84.1~22.04.1
6.8.0-84.84.1~22.04.1
ubuntu/linux-nvidia<5.15.0-1078.79
5.15.0-1078.79
ubuntu/linux-nvidia-6.2*
ubuntu/linux-nvidia-6.5*
ubuntu/linux-nvidia-6.8<6.8.0-1039.42~22.04.1
6.8.0-1039.42~22.04.1
ubuntu/linux-nvidia-tegra<5.15.0-1037.37
5.15.0-1037.37
ubuntu/linux-nvidia-tegra-igx<5.15.0-1026.26
5.15.0-1026.26
ubuntu/linux-oem-5.17*
ubuntu/linux-oem-6.0*
ubuntu/linux-oem-6.1*
ubuntu/linux-oem-6.5*
ubuntu/linux-oracle<5.15.0-1081.87
5.15.0-1081.87
ubuntu/linux-oracle-6.5*
ubuntu/linux-oracle-6.8<6.8.0-1037.38~22.04.1
6.8.0-1037.38~22.04.1
ubuntu/linux-raspi<5.15.0-1078.81
5.15.0-1078.81
ubuntu/linux-realtime*
ubuntu/linux-riscv*
ubuntu/linux-riscv-5.19*
ubuntu/linux-riscv-6.5*
ubuntu/linux-riscv-6.8<6.8.0-84.84~22.04.1
6.8.0-84.84~22.04.1
ubuntu/linux-starfive-5.19*
ubuntu/linux-starfive-6.2*
ubuntu/linux-starfive-6.5*
ubuntu/linux-xilinx-zynqmp<5.15.0-1050.54
5.15.0-1050.54
ubuntu/linux-bluefield<5.15.0-1066.68
5.15.0-1066.68
ubuntu/linux-intel-iot-realtime<5.15.0-1077.79
5.15.0-1077.79
ubuntu/linux-realtime<5.15.0-1084.93
5.15.0-1084.93
ubuntu/linux-realtime-6.8<6.8.1-1034.35~22.04.1
6.8.1-1034.35~22.04.1
ubuntu/linux-aws-fips*
ubuntu/linux-azure-fips*
ubuntu/linux-fips*
ubuntu/linux-gcp-fips*
ubuntu/linux-aws-fips<5.15.0-1084.91+fips1
5.15.0-1084.91+fips1
ubuntu/linux-azure-fips<5.15.0-1089.98+fips1
5.15.0-1089.98+fips1
ubuntu/linux-fips<5.15.0-140.150+fips1
5.15.0-140.150+fips1
ubuntu/linux-gcp-fips<5.15.0-1083.92+fips1
5.15.0-1083.92+fips1
ubuntu/linux<6.8.0-84.84
6.8.0-84.84
ubuntu/linux-aws<6.8.0-1039.41
6.8.0-1039.41
ubuntu/linux-azure<6.8.0-1038.44
6.8.0-1038.44
ubuntu/linux-azure-6.11<6.11.0-1015.15~24.04.1
6.11.0-1015.15~24.04.1
ubuntu/linux-azure-nvidia<6.8.0-1025.27
6.8.0-1025.27
ubuntu/linux-gcp<6.8.0-1040.42
6.8.0-1040.42
ubuntu/linux-gcp-6.11<6.11.0-1015.15~24.04.1
6.11.0-1015.15~24.04.1
ubuntu/linux-gke<6.8.0-1036.40
6.8.0-1036.40
ubuntu/linux-gkeop<6.8.0-1023.25
6.8.0-1023.25
ubuntu/linux-hwe-6.11<6.11.0-26.26~24.04.1
6.11.0-26.26~24.04.1
ubuntu/linux-ibm<6.8.0-1037.37
6.8.0-1037.37
ubuntu/linux-intel*
ubuntu/linux-lowlatency<6.8.0-84.84.1
6.8.0-84.84.1
ubuntu/linux-lowlatency-hwe-6.11<6.11.0-1014.15~24.04.1
6.11.0-1014.15~24.04.1
ubuntu/linux-nvidia<6.8.0-1039.42
6.8.0-1039.42
ubuntu/linux-nvidia-6.11<6.11.0-1010.10
6.11.0-1010.10
ubuntu/linux-nvidia-lowlatency<6.8.0-1039.42.1
6.8.0-1039.42.1
ubuntu/linux-nvidia-tegra<6.8.0-1010.10
6.8.0-1010.10
ubuntu/linux-oem-6.11<6.11.0-1022.22
6.11.0-1022.22
ubuntu/linux-oem-6.8*
ubuntu/linux-oracle<6.8.0-1037.38
6.8.0-1037.38
ubuntu/linux-raspi<6.8.0-1039.43
6.8.0-1039.43
ubuntu/linux-raspi-realtime*
ubuntu/linux-realtime*
ubuntu/linux-riscv*
ubuntu/linux-xilinx<6.8.0-1018.19
6.8.0-1018.19
ubuntu/linux-raspi-realtime<6.8.0-2030.31
6.8.0-2030.31
ubuntu/linux-realtime<6.8.1-1034.35
6.8.1-1034.35
ubuntu/linux-aws-fips<6.8.0-1039.41+fips1
6.8.0-1039.41+fips1
ubuntu/linux-azure-fips<6.8.0-1040.46+fips1
6.8.0-1040.46+fips1
ubuntu/linux-fips<6.8.0-84.84+fips1
6.8.0-84.84+fips1
ubuntu/linux-gcp-fips<6.8.0-1040.42+fips1
6.8.0-1040.42+fips1
debian/linux
6.1.176-16.1.190-16.12.107-16.12.115-27.2.12-17.2.15-1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Compensating control

    In the gl620a driver, update genelink_bind() to use usbnet_get_endpoints() to verify that the specified endpoints are provided by the device, and return early when required endpoints are missing or inconsistent.

Event History

Mar 27, 2025
CVE Published
via MITRE·02:57 PM
Data Sourced
via MITRE·02:57 PM
Description
Data Sourced
via OSV·03:15 PM
DescriptionSeverityAffected Software
Event
via OSV·03:15 PM
Data Sourced
via NVD·03:15 PM
RemedyDescriptionSeverityAffected Software

Parent advisories

This vulnerability appears in the following advisories.

Peer vulnerabilities

Found alongside the following vulnerabilities.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203