In the Linux kernel, the following vulnerability has been resolved:
usb: config: fix iteration issue in 'usbgetbos_descriptor()'
The BOS descriptor defines a root descriptor and is the base descriptor for accessing a family of related descriptors.
Function 'usbgetbosdescriptor()' encounters an iteration issue when skipping the 'USBDTDEVICECAPABILITY' descriptor type. This results in the same descriptor being read repeatedly.
To address this issue, a 'goto' statement is introduced to ensure that the pointer and the amount read is updated correctly. This ensures that the function iterates to the next descriptor instead of reading the same descriptor repeatedly.
[
{
"digest": {
"length": 2354.0,
"function_hash": "244025241617472105872736270213566673821"
},
"signature_version": "v1",
"target": {
"function": "usb_get_bos_descriptor",
"file": "drivers/usb/core/config.c"
},
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f89fef7710b2ba0f7a1e46594e530dcf2f77be91",
"signature_type": "Function",
"id": "CVE-2023-52781-007e5beb"
},
{
"digest": {
"length": 2337.0,
"function_hash": "241312078543724924573310563482531102930"
},
"signature_version": "v1",
"target": {
"function": "usb_get_bos_descriptor",
"file": "drivers/usb/core/config.c"
},
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9ef94ec8e52eaf7b9abc5b5f8f5b911751112223",
"signature_type": "Function",
"id": "CVE-2023-52781-28ed234d"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"206309455890867327082570894708030736406",
"192187393219430646033173714379052535893",
"335118541981390840080581806416131220707",
"323792292008516124329996346966546735023",
"38249140541845050121254195143908969376",
"271111506042084078583709065771210935131",
"270431836759461572439078797885190948686"
]
},
"signature_version": "v1",
"target": {
"file": "drivers/usb/core/config.c"
},
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7c0244cc311a4038505b73682b7c8ceaa5c7a8c8",
"signature_type": "Line",
"id": "CVE-2023-52781-31df22b8"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"206309455890867327082570894708030736406",
"192187393219430646033173714379052535893",
"335118541981390840080581806416131220707",
"194326404754100048817701340751428293035",
"38249140541845050121254195143908969376",
"271111506042084078583709065771210935131",
"270431836759461572439078797885190948686"
]
},
"signature_version": "v1",
"target": {
"file": "drivers/usb/core/config.c"
},
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@64c27b7b2357ddb38b6afebaf46d5bff4d250702",
"signature_type": "Line",
"id": "CVE-2023-52781-4a621968"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"206309455890867327082570894708030736406",
"192187393219430646033173714379052535893",
"335118541981390840080581806416131220707",
"194326404754100048817701340751428293035",
"38249140541845050121254195143908969376",
"271111506042084078583709065771210935131",
"270431836759461572439078797885190948686"
]
},
"signature_version": "v1",
"target": {
"file": "drivers/usb/core/config.c"
},
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f89fef7710b2ba0f7a1e46594e530dcf2f77be91",
"signature_type": "Line",
"id": "CVE-2023-52781-6cea7de5"
},
{
"digest": {
"length": 2345.0,
"function_hash": "337475740458477632754134170308050123694"
},
"signature_version": "v1",
"target": {
"function": "usb_get_bos_descriptor",
"file": "drivers/usb/core/config.c"
},
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@64c27b7b2357ddb38b6afebaf46d5bff4d250702",
"signature_type": "Function",
"id": "CVE-2023-52781-88903301"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"206309455890867327082570894708030736406",
"192187393219430646033173714379052535893",
"335118541981390840080581806416131220707",
"194326404754100048817701340751428293035",
"38249140541845050121254195143908969376",
"271111506042084078583709065771210935131",
"270431836759461572439078797885190948686"
]
},
"signature_version": "v1",
"target": {
"file": "drivers/usb/core/config.c"
},
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9ef94ec8e52eaf7b9abc5b5f8f5b911751112223",
"signature_type": "Line",
"id": "CVE-2023-52781-8b65676d"
},
{
"digest": {
"length": 2313.0,
"function_hash": "35251350109025845522172810427685420209"
},
"signature_version": "v1",
"target": {
"function": "usb_get_bos_descriptor",
"file": "drivers/usb/core/config.c"
},
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@974bba5c118f4c2baf00de0356e3e4f7928b4cbc",
"signature_type": "Function",
"id": "CVE-2023-52781-b9c3328d"
},
{
"digest": {
"length": 2313.0,
"function_hash": "35251350109025845522172810427685420209"
},
"signature_version": "v1",
"target": {
"function": "usb_get_bos_descriptor",
"file": "drivers/usb/core/config.c"
},
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7c0244cc311a4038505b73682b7c8ceaa5c7a8c8",
"signature_type": "Function",
"id": "CVE-2023-52781-bfa549e3"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"206309455890867327082570894708030736406",
"192187393219430646033173714379052535893",
"335118541981390840080581806416131220707",
"323792292008516124329996346966546735023",
"38249140541845050121254195143908969376",
"271111506042084078583709065771210935131",
"270431836759461572439078797885190948686"
]
},
"signature_version": "v1",
"target": {
"file": "drivers/usb/core/config.c"
},
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@974bba5c118f4c2baf00de0356e3e4f7928b4cbc",
"signature_type": "Line",
"id": "CVE-2023-52781-d861508e"
}
]