In the Linux kernel, the following vulnerability has been resolved:
usb: gadget: core: Check for unset descriptor
Make sure the descriptor has been set before looking at maxpacket. This fixes a null pointer panic in this case.
This may happen if the gadget doesn't properly set up the endpoint for the current speed, or the gadget descriptors are malformed and the descriptor for the speed/endpoint are not found.
No current gadget driver is known to have this problem, but this may cause a hard-to-find bug during development of new gadgets.
[
{
"signature_type": "Function",
"id": "CVE-2024-44960-3f9d62e3",
"target": {
"file": "drivers/usb/gadget/udc/core.c",
"function": "usb_ep_enable"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@df8e734ae5e605348aa0ca2498aedb73e815f244",
"signature_version": "v1",
"digest": {
"function_hash": "95812390362027927945521571225043310941",
"length": 309.0
},
"deprecated": false
},
{
"signature_type": "Line",
"id": "CVE-2024-44960-6dff2613",
"target": {
"file": "drivers/usb/gadget/udc/core.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@df8e734ae5e605348aa0ca2498aedb73e815f244",
"signature_version": "v1",
"digest": {
"line_hashes": [
"193825982181827744469020263525751744773",
"188709742651138740636337381176892418069",
"126695378318978269805671274397641718824",
"272205389504426319219856952999998729283"
],
"threshold": 0.9
},
"deprecated": false
},
{
"signature_type": "Function",
"id": "CVE-2024-44960-6e081393",
"target": {
"file": "drivers/usb/gadget/udc/core.c",
"function": "usb_ep_enable"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@973a57891608a98e894db2887f278777f564de18",
"signature_version": "v1",
"digest": {
"function_hash": "95812390362027927945521571225043310941",
"length": 309.0
},
"deprecated": false
},
{
"signature_type": "Function",
"id": "CVE-2024-44960-7035e0e4",
"target": {
"file": "drivers/usb/gadget/udc/core.c",
"function": "usb_ep_enable"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@50c5248b0ea8aae0529fdf28dac42a41312d3b62",
"signature_version": "v1",
"digest": {
"function_hash": "95812390362027927945521571225043310941",
"length": 309.0
},
"deprecated": false
},
{
"signature_type": "Line",
"id": "CVE-2024-44960-766591ea",
"target": {
"file": "drivers/usb/gadget/udc/core.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7cc9ebcfe58be22f18056ad8bc6272d120bdcb3e",
"signature_version": "v1",
"digest": {
"line_hashes": [
"193825982181827744469020263525751744773",
"188709742651138740636337381176892418069",
"126695378318978269805671274397641718824",
"272205389504426319219856952999998729283"
],
"threshold": 0.9
},
"deprecated": false
},
{
"signature_type": "Line",
"id": "CVE-2024-44960-808f6436",
"target": {
"file": "drivers/usb/gadget/udc/core.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@973a57891608a98e894db2887f278777f564de18",
"signature_version": "v1",
"digest": {
"line_hashes": [
"193825982181827744469020263525751744773",
"188709742651138740636337381176892418069",
"126695378318978269805671274397641718824",
"272205389504426319219856952999998729283"
],
"threshold": 0.9
},
"deprecated": false
},
{
"signature_type": "Function",
"id": "CVE-2024-44960-8b611b4e",
"target": {
"file": "drivers/usb/gadget/udc/core.c",
"function": "usb_ep_enable"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1a9df57d57452b104c46c918569143cf21d7ebf1",
"signature_version": "v1",
"digest": {
"function_hash": "95812390362027927945521571225043310941",
"length": 309.0
},
"deprecated": false
},
{
"signature_type": "Function",
"id": "CVE-2024-44960-93fc1028",
"target": {
"file": "drivers/usb/gadget/udc/core.c",
"function": "usb_ep_enable"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a0362cd6e503278add954123957fd47990e8d9bf",
"signature_version": "v1",
"digest": {
"function_hash": "95812390362027927945521571225043310941",
"length": 309.0
},
"deprecated": false
},
{
"signature_type": "Function",
"id": "CVE-2024-44960-97bfc7a2",
"target": {
"file": "drivers/usb/gadget/udc/core.c",
"function": "usb_ep_enable"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7cc9ebcfe58be22f18056ad8bc6272d120bdcb3e",
"signature_version": "v1",
"digest": {
"function_hash": "95812390362027927945521571225043310941",
"length": 309.0
},
"deprecated": false
},
{
"signature_type": "Line",
"id": "CVE-2024-44960-9fc4e25c",
"target": {
"file": "drivers/usb/gadget/udc/core.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@716cba46f73a92645cf13eded8d257ed48afc2a4",
"signature_version": "v1",
"digest": {
"line_hashes": [
"193825982181827744469020263525751744773",
"188709742651138740636337381176892418069",
"126695378318978269805671274397641718824",
"272205389504426319219856952999998729283"
],
"threshold": 0.9
},
"deprecated": false
},
{
"signature_type": "Function",
"id": "CVE-2024-44960-a2311897",
"target": {
"file": "drivers/usb/gadget/udc/core.c",
"function": "usb_ep_enable"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ba15815dd24cc5ec0d23e2170dc58c7db1e03b4a",
"signature_version": "v1",
"digest": {
"function_hash": "95812390362027927945521571225043310941",
"length": 309.0
},
"deprecated": false
},
{
"signature_type": "Line",
"id": "CVE-2024-44960-c258f45d",
"target": {
"file": "drivers/usb/gadget/udc/core.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@50c5248b0ea8aae0529fdf28dac42a41312d3b62",
"signature_version": "v1",
"digest": {
"line_hashes": [
"193825982181827744469020263525751744773",
"188709742651138740636337381176892418069",
"126695378318978269805671274397641718824",
"272205389504426319219856952999998729283"
],
"threshold": 0.9
},
"deprecated": false
},
{
"signature_type": "Line",
"id": "CVE-2024-44960-ede0de0d",
"target": {
"file": "drivers/usb/gadget/udc/core.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1a9df57d57452b104c46c918569143cf21d7ebf1",
"signature_version": "v1",
"digest": {
"line_hashes": [
"193825982181827744469020263525751744773",
"188709742651138740636337381176892418069",
"126695378318978269805671274397641718824",
"272205389504426319219856952999998729283"
],
"threshold": 0.9
},
"deprecated": false
},
{
"signature_type": "Function",
"id": "CVE-2024-44960-fabe8c0d",
"target": {
"file": "drivers/usb/gadget/udc/core.c",
"function": "usb_ep_enable"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@716cba46f73a92645cf13eded8d257ed48afc2a4",
"signature_version": "v1",
"digest": {
"function_hash": "95812390362027927945521571225043310941",
"length": 309.0
},
"deprecated": false
},
{
"signature_type": "Line",
"id": "CVE-2024-44960-fc8bb3b8",
"target": {
"file": "drivers/usb/gadget/udc/core.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ba15815dd24cc5ec0d23e2170dc58c7db1e03b4a",
"signature_version": "v1",
"digest": {
"line_hashes": [
"193825982181827744469020263525751744773",
"188709742651138740636337381176892418069",
"126695378318978269805671274397641718824",
"272205389504426319219856952999998729283"
],
"threshold": 0.9
},
"deprecated": false
},
{
"signature_type": "Line",
"id": "CVE-2024-44960-fec726d5",
"target": {
"file": "drivers/usb/gadget/udc/core.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a0362cd6e503278add954123957fd47990e8d9bf",
"signature_version": "v1",
"digest": {
"line_hashes": [
"193825982181827744469020263525751744773",
"188709742651138740636337381176892418069",
"126695378318978269805671274397641718824",
"272205389504426319219856952999998729283"
],
"threshold": 0.9
},
"deprecated": false
}
]