{"id":"CVE-2023-52781","state":"PUBLISHED","title":"usb: config: fix iteration issue in 'usb_get_bos_descriptor()'","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nusb: config: fix iteration issue in 'usb_get_bos_descriptor()'\n\nThe BOS descriptor defines a root descriptor and is the base descriptor for\naccessing a family of related descriptors.\n\nFunction 'usb_get_bos_descriptor()' encounters an iteration issue when\nskipping the 'USB_DT_DEVICE_CAPABILITY' descriptor type. This results in\nthe same descriptor being read repeatedly.\n\nTo address this issue, a 'goto' statement is introduced to ensure that the\npointer and the amount read is updated correctly. This ensures that the\nfunction iterates to the next descriptor instead of reading the same\ndescriptor repeatedly.","publishedAt":"2024-05-21T15:31:00.242Z","updatedAt":"2026-05-23T15:27:05.236Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"3dd550a2d36596a1b0ee7955da3b611c031d3873","status":"affected","lessThan":"9ef94ec8e52eaf7b9abc5b5f8f5b911751112223","versionType":"git"},{"version":"3dd550a2d36596a1b0ee7955da3b611c031d3873","status":"affected","lessThan":"64c27b7b2357ddb38b6afebaf46d5bff4d250702","versionType":"git"},{"version":"3dd550a2d36596a1b0ee7955da3b611c031d3873","status":"affected","lessThan":"f89fef7710b2ba0f7a1e46594e530dcf2f77be91","versionType":"git"},{"version":"3dd550a2d36596a1b0ee7955da3b611c031d3873","status":"affected","lessThan":"7c0244cc311a4038505b73682b7c8ceaa5c7a8c8","versionType":"git"},{"version":"3dd550a2d36596a1b0ee7955da3b611c031d3873","status":"affected","lessThan":"974bba5c118f4c2baf00de0356e3e4f7928b4cbc","versionType":"git"},{"version":"77ce180d68beffd1af620d0121590e16683fc6b8","status":"affected","versionType":"git"},{"version":"20a07e1aadcd6990893c532d1b2b507bfa065152","status":"affected","versionType":"git"},{"version":"a5c051b6503c0ba543e993cfc295b64f096e0a29","status":"affected","versionType":"git"},{"version":"ea4a173d8358b756a780786baa3fc39d282bdbe3","status":"affected","versionType":"git"},{"version":"77d4e2a058858b4a94fc469bc1bfc94a0958e252","status":"affected","versionType":"git"},{"version":"1fc15d29540a69cfb55c8b8f8c38f1af33178243","status":"affected","versionType":"git"},{"version":"9f8dd40c68c176f2c3f1fc8b87bc81756856938f","status":"affected","versionType":"git"},{"version":"3.16.79","status":"affected","lessThan":"3.17","versionType":"semver"},{"version":"4.4.194","status":"affected","lessThan":"4.5","versionType":"semver"},{"version":"4.9.194","status":"affected","lessThan":"4.10","versionType":"semver"},{"version":"4.14.146","status":"affected","lessThan":"4.15","versionType":"semver"},{"version":"4.19.75","status":"affected","lessThan":"4.20","versionType":"semver"},{"version":"5.2.17","status":"affected","lessThan":"5.3","versionType":"semver"},{"version":"5.3.1","status":"affected","lessThan":"5.4","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/usb/core/config.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.4","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.4","versionType":"semver"},{"version":"5.10.203","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.142","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.66","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.4","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.7","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/usb/core/config.c"]}],"references":["https://git.kernel.org/stable/c/9ef94ec8e52eaf7b9abc5b5f8f5b911751112223","https://git.kernel.org/stable/c/64c27b7b2357ddb38b6afebaf46d5bff4d250702","https://git.kernel.org/stable/c/f89fef7710b2ba0f7a1e46594e530dcf2f77be91","https://git.kernel.org/stable/c/7c0244cc311a4038505b73682b7c8ceaa5c7a8c8","https://git.kernel.org/stable/c/974bba5c118f4c2baf00de0356e3e4f7928b4cbc"],"weaknesses":[],"ingestedAt":"2026-10-29T20:06:33.064Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2023/52xxx/CVE-2023-52781.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2023-52781","state":"PUBLISHED","datePublished":"2024-05-21T15:31:00.242Z","dateUpdated":"2026-05-23T15:27:05.236Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2024-05-21T15:19:24.240Z"},"containers":{"cna":{"title":"usb: config: fix iteration issue in 'usb_get_bos_descriptor()'","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nusb: config: fix iteration issue in 'usb_get_bos_descriptor()'\n\nThe BOS descriptor defines a root descriptor and is the base descriptor for\naccessing a family of related descriptors.\n\nFunction 'usb_get_bos_descriptor()' encounters an iteration issue when\nskipping the 'USB_DT_DEVICE_CAPABILITY' descriptor type. This results in\nthe same descriptor being read repeatedly.\n\nTo address this issue, a 'goto' statement is introduced to ensure that the\npointer and the amount read is updated correctly. This ensures that the\nfunction iterates to the next descriptor instead of reading the same\ndescriptor repeatedly."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"3dd550a2d36596a1b0ee7955da3b611c031d3873","status":"affected","lessThan":"9ef94ec8e52eaf7b9abc5b5f8f5b911751112223","versionType":"git"},{"version":"3dd550a2d36596a1b0ee7955da3b611c031d3873","status":"affected","lessThan":"64c27b7b2357ddb38b6afebaf46d5bff4d250702","versionType":"git"},{"version":"3dd550a2d36596a1b0ee7955da3b611c031d3873","status":"affected","lessThan":"f89fef7710b2ba0f7a1e46594e530dcf2f77be91","versionType":"git"},{"version":"3dd550a2d36596a1b0ee7955da3b611c031d3873","status":"affected","lessThan":"7c0244cc311a4038505b73682b7c8ceaa5c7a8c8","versionType":"git"},{"version":"3dd550a2d36596a1b0ee7955da3b611c031d3873","status":"affected","lessThan":"974bba5c118f4c2baf00de0356e3e4f7928b4cbc","versionType":"git"},{"version":"77ce180d68beffd1af620d0121590e16683fc6b8","status":"affected","versionType":"git"},{"version":"20a07e1aadcd6990893c532d1b2b507bfa065152","status":"affected","versionType":"git"},{"version":"a5c051b6503c0ba543e993cfc295b64f096e0a29","status":"affected","versionType":"git"},{"version":"ea4a173d8358b756a780786baa3fc39d282bdbe3","status":"affected","versionType":"git"},{"version":"77d4e2a058858b4a94fc469bc1bfc94a0958e252","status":"affected","versionType":"git"},{"version":"1fc15d29540a69cfb55c8b8f8c38f1af33178243","status":"affected","versionType":"git"},{"version":"9f8dd40c68c176f2c3f1fc8b87bc81756856938f","status":"affected","versionType":"git"},{"version":"3.16.79","status":"affected","lessThan":"3.17","versionType":"semver"},{"version":"4.4.194","status":"affected","lessThan":"4.5","versionType":"semver"},{"version":"4.9.194","status":"affected","lessThan":"4.10","versionType":"semver"},{"version":"4.14.146","status":"affected","lessThan":"4.15","versionType":"semver"},{"version":"4.19.75","status":"affected","lessThan":"4.20","versionType":"semver"},{"version":"5.2.17","status":"affected","lessThan":"5.3","versionType":"semver"},{"version":"5.3.1","status":"affected","lessThan":"5.4","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/usb/core/config.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.4","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.4","versionType":"semver"},{"version":"5.10.203","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.142","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.66","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.4","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.7","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/usb/core/config.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/9ef94ec8e52eaf7b9abc5b5f8f5b911751112223"},{"url":"https://git.kernel.org/stable/c/64c27b7b2357ddb38b6afebaf46d5bff4d250702"},{"url":"https://git.kernel.org/stable/c/f89fef7710b2ba0f7a1e46594e530dcf2f77be91"},{"url":"https://git.kernel.org/stable/c/7c0244cc311a4038505b73682b7c8ceaa5c7a8c8"},{"url":"https://git.kernel.org/stable/c/974bba5c118f4c2baf00de0356e3e4f7928b4cbc"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-23T15:27:05.236Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.4","versionEndExcluding":"5.10.203"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.4","versionEndExcluding":"5.15.142"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.4","versionEndExcluding":"6.1.66"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.4","versionEndExcluding":"6.6.4"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.4","versionEndExcluding":"6.7"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.16.79"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.4.194"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.9.194"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.14.146"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19.75"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.2.17"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.3.1"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2023-52781","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2024-05-21T17:27:41.275139Z"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2024-06-04T17:22:33.254Z"}},{"title":"CVE Program Container","references":[{"url":"https://git.kernel.org/stable/c/9ef94ec8e52eaf7b9abc5b5f8f5b911751112223","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/64c27b7b2357ddb38b6afebaf46d5bff4d250702","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/f89fef7710b2ba0f7a1e46594e530dcf2f77be91","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/7c0244cc311a4038505b73682b7c8ceaa5c7a8c8","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/974bba5c118f4c2baf00de0356e3e4f7928b4cbc","tags":["x_transferred"]}],"providerMetadata":{"shortName":"CVE","orgId":"af854a3a-2127-422b-91ae-364da2661108","dateUpdated":"2024-08-02T23:11:35.495Z"}}]}}}