In the Linux kernel, the following vulnerability has been resolved:
char: xillybus: Check USB endpoints when probing device
Ensure, as the driver probes the device, that all endpoints that the driver may attempt to access exist and are of the correct type.
All XillyUSB devices must have a Bulk IN and Bulk OUT endpoint at address 1. This is verified in xillyusbsetupbase_eps().
On top of that, a XillyUSB device may have additional Bulk OUT endpoints. The information about these endpoints' addresses is deduced from a data structure (the IDT) that the driver fetches from the device while probing it. These endpoints are checked in setup_channels().
A XillyUSB device never has more than one IN endpoint, as all data towards the host is multiplexed in this single Bulk IN endpoint. This is why setup_channels() only checks OUT endpoints.
[
{
"signature_type": "Line",
"digest": {
"line_hashes": [
"79339573880169853583486808810898393963",
"300581875850761066869060588850641527660",
"168324173334159247166236478248988957442",
"95040709781072650396014667327783984667",
"317751243849672484013121654777346241944",
"310918298384569256646784990293874108092",
"298457249134422742518087531041195747649",
"45498694602109300695886828372178680301",
"193715322462941872305961656766089835220",
"310231918451332911512765377906667517777",
"3355730129940660877006587347669241928",
"324047199639195322717847342541049648379",
"134694602157812950201721595641229024901",
"147376725934866398485910845508306752767",
"24661921063406663735280167390872312905",
"235348685190633434428949439339748279103",
"3386548476624241225627370173868187703",
"235914264275985558024093098921999048553",
"267868390585593816517915983992887850017",
"110644923425359778766394455614986158730"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1371d32b95972d39c1e6e4bae8b6d0df1b573731",
"target": {
"file": "drivers/char/xillybus/xillyusb.c"
},
"id": "CVE-2024-45011-0270db66",
"signature_version": "v1",
"deprecated": false
},
{
"signature_type": "Line",
"digest": {
"line_hashes": [
"79339573880169853583486808810898393963",
"300581875850761066869060588850641527660",
"168324173334159247166236478248988957442",
"95040709781072650396014667327783984667",
"317751243849672484013121654777346241944",
"310918298384569256646784990293874108092",
"298457249134422742518087531041195747649",
"45498694602109300695886828372178680301",
"193715322462941872305961656766089835220",
"310231918451332911512765377906667517777",
"3355730129940660877006587347669241928",
"324047199639195322717847342541049648379",
"134694602157812950201721595641229024901",
"147376725934866398485910845508306752767",
"24661921063406663735280167390872312905",
"235348685190633434428949439339748279103",
"3386548476624241225627370173868187703",
"235914264275985558024093098921999048553",
"267868390585593816517915983992887850017",
"110644923425359778766394455614986158730"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2374bf7558de915edc6ec8cb10ec3291dfab9594",
"target": {
"file": "drivers/char/xillybus/xillyusb.c"
},
"id": "CVE-2024-45011-06584699",
"signature_version": "v1",
"deprecated": false
},
{
"signature_type": "Function",
"digest": {
"length": 547.0,
"function_hash": "313054221286679234327624134099288790198"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4267131278f5cc98f8db31d035d64bdbbfe18658",
"target": {
"function": "xillyusb_setup_base_eps",
"file": "drivers/char/xillybus/xillyusb.c"
},
"id": "CVE-2024-45011-0e3690e4",
"signature_version": "v1",
"deprecated": false
},
{
"signature_type": "Function",
"digest": {
"length": 547.0,
"function_hash": "313054221286679234327624134099288790198"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5cff754692ad45d5086b75fef8cc3a99c30a1005",
"target": {
"function": "xillyusb_setup_base_eps",
"file": "drivers/char/xillybus/xillyusb.c"
},
"id": "CVE-2024-45011-0ed3b548",
"signature_version": "v1",
"deprecated": false
},
{
"signature_type": "Line",
"digest": {
"line_hashes": [
"79339573880169853583486808810898393963",
"300581875850761066869060588850641527660",
"168324173334159247166236478248988957442",
"95040709781072650396014667327783984667",
"317751243849672484013121654777346241944",
"310918298384569256646784990293874108092",
"298457249134422742518087531041195747649",
"45498694602109300695886828372178680301",
"193715322462941872305961656766089835220",
"310231918451332911512765377906667517777",
"3355730129940660877006587347669241928",
"324047199639195322717847342541049648379",
"134694602157812950201721595641229024901",
"147376725934866398485910845508306752767",
"24661921063406663735280167390872312905",
"235348685190633434428949439339748279103",
"3386548476624241225627370173868187703",
"235914264275985558024093098921999048553",
"267868390585593816517915983992887850017",
"110644923425359778766394455614986158730"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4267131278f5cc98f8db31d035d64bdbbfe18658",
"target": {
"file": "drivers/char/xillybus/xillyusb.c"
},
"id": "CVE-2024-45011-16819b11",
"signature_version": "v1",
"deprecated": false
},
{
"signature_type": "Function",
"digest": {
"length": 547.0,
"function_hash": "313054221286679234327624134099288790198"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@25ee8b2908200fc862c0434e5ad483817d50ceda",
"target": {
"function": "xillyusb_setup_base_eps",
"file": "drivers/char/xillybus/xillyusb.c"
},
"id": "CVE-2024-45011-1ee18e2e",
"signature_version": "v1",
"deprecated": false
},
{
"signature_type": "Line",
"digest": {
"line_hashes": [
"79339573880169853583486808810898393963",
"300581875850761066869060588850641527660",
"168324173334159247166236478248988957442",
"95040709781072650396014667327783984667",
"317751243849672484013121654777346241944",
"310918298384569256646784990293874108092",
"298457249134422742518087531041195747649",
"45498694602109300695886828372178680301",
"193715322462941872305961656766089835220",
"310231918451332911512765377906667517777",
"3355730129940660877006587347669241928",
"324047199639195322717847342541049648379",
"134694602157812950201721595641229024901",
"147376725934866398485910845508306752767",
"24661921063406663735280167390872312905",
"235348685190633434428949439339748279103",
"3386548476624241225627370173868187703",
"235914264275985558024093098921999048553",
"267868390585593816517915983992887850017",
"110644923425359778766394455614986158730"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@25ee8b2908200fc862c0434e5ad483817d50ceda",
"target": {
"file": "drivers/char/xillybus/xillyusb.c"
},
"id": "CVE-2024-45011-38d79d60",
"signature_version": "v1",
"deprecated": false
},
{
"signature_type": "Function",
"digest": {
"length": 1030.0,
"function_hash": "324071465864233147185458367457177016468"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2374bf7558de915edc6ec8cb10ec3291dfab9594",
"target": {
"function": "setup_channels",
"file": "drivers/char/xillybus/xillyusb.c"
},
"id": "CVE-2024-45011-413b61de",
"signature_version": "v1",
"deprecated": false
},
{
"signature_type": "Function",
"digest": {
"length": 547.0,
"function_hash": "313054221286679234327624134099288790198"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2374bf7558de915edc6ec8cb10ec3291dfab9594",
"target": {
"function": "xillyusb_setup_base_eps",
"file": "drivers/char/xillybus/xillyusb.c"
},
"id": "CVE-2024-45011-4d629f1e",
"signature_version": "v1",
"deprecated": false
},
{
"signature_type": "Function",
"digest": {
"length": 1030.0,
"function_hash": "324071465864233147185458367457177016468"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@25ee8b2908200fc862c0434e5ad483817d50ceda",
"target": {
"function": "setup_channels",
"file": "drivers/char/xillybus/xillyusb.c"
},
"id": "CVE-2024-45011-605947bd",
"signature_version": "v1",
"deprecated": false
},
{
"signature_type": "Function",
"digest": {
"length": 547.0,
"function_hash": "313054221286679234327624134099288790198"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1371d32b95972d39c1e6e4bae8b6d0df1b573731",
"target": {
"function": "xillyusb_setup_base_eps",
"file": "drivers/char/xillybus/xillyusb.c"
},
"id": "CVE-2024-45011-702bc66a",
"signature_version": "v1",
"deprecated": false
},
{
"signature_type": "Line",
"digest": {
"line_hashes": [
"79339573880169853583486808810898393963",
"300581875850761066869060588850641527660",
"168324173334159247166236478248988957442",
"95040709781072650396014667327783984667",
"317751243849672484013121654777346241944",
"310918298384569256646784990293874108092",
"298457249134422742518087531041195747649",
"45498694602109300695886828372178680301",
"193715322462941872305961656766089835220",
"310231918451332911512765377906667517777",
"3355730129940660877006587347669241928",
"324047199639195322717847342541049648379",
"134694602157812950201721595641229024901",
"147376725934866398485910845508306752767",
"24661921063406663735280167390872312905",
"235348685190633434428949439339748279103",
"3386548476624241225627370173868187703",
"235914264275985558024093098921999048553",
"267868390585593816517915983992887850017",
"110644923425359778766394455614986158730"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5cff754692ad45d5086b75fef8cc3a99c30a1005",
"target": {
"file": "drivers/char/xillybus/xillyusb.c"
},
"id": "CVE-2024-45011-7b865ccd",
"signature_version": "v1",
"deprecated": false
},
{
"signature_type": "Function",
"digest": {
"length": 1030.0,
"function_hash": "324071465864233147185458367457177016468"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5cff754692ad45d5086b75fef8cc3a99c30a1005",
"target": {
"function": "setup_channels",
"file": "drivers/char/xillybus/xillyusb.c"
},
"id": "CVE-2024-45011-adbbe507",
"signature_version": "v1",
"deprecated": false
},
{
"signature_type": "Function",
"digest": {
"length": 1030.0,
"function_hash": "324071465864233147185458367457177016468"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1371d32b95972d39c1e6e4bae8b6d0df1b573731",
"target": {
"function": "setup_channels",
"file": "drivers/char/xillybus/xillyusb.c"
},
"id": "CVE-2024-45011-b718f7ea",
"signature_version": "v1",
"deprecated": false
},
{
"signature_type": "Function",
"digest": {
"length": 1030.0,
"function_hash": "324071465864233147185458367457177016468"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4267131278f5cc98f8db31d035d64bdbbfe18658",
"target": {
"function": "setup_channels",
"file": "drivers/char/xillybus/xillyusb.c"
},
"id": "CVE-2024-45011-cdaa8c4c",
"signature_version": "v1",
"deprecated": false
}
]