Bug 1296466 (CVE-2015-7566)
| Summary: | CVE-2015-7566 kernel: Crash on invalid USB device descriptors in visor driver | ||
|---|---|---|---|
| Product: | [Other] Security Response | Reporter: | Adam Mariš <amaris> |
| Component: | vulnerability | Assignee: | Red Hat Product Security <security-response-team> |
| Status: | CLOSED WONTFIX | QA Contact: | |
| Severity: | low | Docs Contact: | |
| Priority: | low | ||
| Version: | unspecified | CC: | agordeev, aquini, bhu, carnil, dhoward, esammons, fhrbata, iboverma, jkacur, joelsmith, jross, kernel-mgr, kstutsma, lgoncalv, lwang, matt, mcressma, mguzik, nmurray, pholasek, plougher, rvrbovsk, security-response-team, slawomir, slong, vdronov, williams |
| Target Milestone: | --- | Keywords: | Security |
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: |
A flaw was found in the way the Linux kernel visor driver handles certain invalid USB device descriptors. The driver assumes that the device always has at least one bulk OUT endpoint. By using a specially crafted USB device (without a bulk OUT endpoint), an unprivileged user with physical access could trigger a kernel NULL-pointer dereference and cause a system panic (denial of service).
|
Story Points: | --- |
| Clone Of: | Environment: | ||
| Last Closed: | 2016-03-11 13:51:29 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | 1283371, 1297517 | ||
| Bug Blocks: | 1296470 | ||
Acknowledgements: Red Hat would like to thank Ralf Spenneberg of OpenSource Security for reporting this issue. Statement: This issue does not affect the Linux kernel packages as shipped with Red Hat Enterprise Linux 5, 6 as the code with the flaw is not present in the products listed. This issue affects the Linux kernel packages as shipped with Red Hat Enterprise Linux 7, and MRG-2. This has been rated as having Low security impact and is not currently planned to be addressed in future updates. For additional information, refer to the Red Hat Enterprise Linux Life Cycle: https://access.redhat.com/support/policy/updates/errata/. Created kernel tracking bugs for this issue: Affects: fedora-all [bug 1297517] kernel-4.3.3-301.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report. kernel-4.3.3-303.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report. kernel-4.3.4-200.fc22 has been pushed to the Fedora 22 stable repository. If problems still persist, please make note of it in this bug report. |
A local kernel crash on invalid USB device requiring the visor driver was reported. The clie_5_attach function of the visor driver, which is called during the driver initialization process, expects an OUT-Bulk-Endpoint. Due to an incomplete sanity check, the visor driver tries to dereference null-pointers, which results in crash. Vulnerable code: **** CentOS-Kernel linux-3.10.0-229.14.1.el7 (drivers/usb/serial/visor.c) ... 607 608 pipe = usb_sndbulkpipe(serial->dev, port->bulk_out_endpointAddress); 609 for (j = 0; j < ARRAY_SIZE(port->write_urbs); ++j) 610 port->write_urbs[j]->pipe = pipe; /* if there is no configured OUT-bulk-endpoint, the kernel tries to dereference null-pointers */ 611 612 return 0; 613 } ... **** Reproducer can be found in original bug report: https://bugzilla.redhat.com/show_bug.cgi?id=1283371 Proposed upstream patch: http://marc.info/?l=linux-usb&m=145260786729359&w=2 Upstream commit: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=cb3232138e37129e88240a98a1d2aba2187ff57c Bugtraq: http://seclists.org/bugtraq/2016/Mar/58