CVE-2016-3140 in Linuxinfo

Summary

by MITRE

The digi_port_init function in drivers/usb/serial/digi_acceleport.c in the Linux kernel before 4.5.1 allows physically proximate attackers to cause a denial of service (NULL pointer dereference and system crash) via a crafted endpoints value in a USB device descriptor.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Analysis

by VulDB Data Team • 10/07/2024

The vulnerability identified as CVE-2016-3140 represents a critical NULL pointer dereference flaw within the Linux kernel's USB serial driver subsystem. This issue resides in the digi_port_init function located in drivers/usb/serial/digi_acceleport.c, affecting kernel versions prior to 4.5.1. The vulnerability manifests when the kernel processes USB device descriptors from physically proximate attackers who can manipulate endpoint configurations. This class of vulnerability falls under CWE-476 which specifically addresses NULL pointer dereferences, making it particularly dangerous as it can lead to complete system crashes and denial of service conditions.

The technical exploitation of this vulnerability occurs when a malicious USB device presents a crafted endpoint value in its device descriptor that causes the digi_port_init function to attempt to dereference a NULL pointer. The function fails to properly validate endpoint configurations from USB devices before attempting to process them, creating an execution path where memory access violations occur. This flaw is particularly concerning because it requires only physical proximity to exploit, making it accessible to attackers who can directly connect malicious USB devices to target systems, a vector commonly exploited in supply chain attacks and social engineering scenarios.

From an operational perspective, this vulnerability creates significant risk for embedded systems, servers, and desktop environments that accept USB connections from untrusted devices. The impact extends beyond simple denial of service as system crashes can result in data loss, service interruptions, and potential compromise of system integrity. The vulnerability aligns with ATT&CK technique T1210 which describes exploitation of remote services through physical access, and T1059 which covers execution of malicious code through USB devices. Organizations running affected kernel versions face potential system instability that could be leveraged by attackers to escalate privileges or maintain persistence on compromised systems.

Mitigation strategies for this vulnerability primarily focus on kernel updates to version 4.5.1 or later where the issue has been resolved through proper input validation and NULL pointer checks in the digi_port_init function. System administrators should implement USB device whitelisting policies and disable unnecessary USB functionality on systems where physical security cannot be guaranteed. Network segmentation and monitoring solutions should be deployed to detect anomalous USB device connections that could indicate exploitation attempts. Additionally, organizations should conduct regular security assessments of their USB device management policies and ensure that all systems are patched against known vulnerabilities. The fix implemented in the patched kernel versions demonstrates proper defensive programming practices by ensuring endpoint value validation before pointer dereference operations, aligning with security best practices recommended in the OWASP Top Ten and NIST Cybersecurity Framework.

Reservation

03/13/2016

Disclosure

05/02/2016

Moderation

accepted

Entry

VDB-83147

CPE

ready

Exploit

Download

EPSS

0.01790

KEV

no

Activities

very low

Sources

Do you know our Splunk app?

Download it now for free!