{"api_version":"1","generated_at":"2026-10-26T15:46:52+00:00","cve":"CVE-2026-98770","urls":{"html":"https://cve.report/CVE-2026-98770","api":"https://cve.report/api/cve/CVE-2026-98770.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-98770","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-98770"},"summary":{"title":"usb: gadget: midi2: Fix the jack descriptor array sizes","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nusb: gadget: midi2: Fix the jack descriptor array sizes\n\nThe jack in/out descriptor arrays in struct f_midi2_usb_config have\nthe size of MAX_CABLES, which look reasonable -- but it turned out to\nbe incorrect.  Namely, the entries for those arrays are added from\nboth inputs and outputs, hence for each loop cycle, it adds two, ended\nup with as twice as the expected size.  This inconsistency may result\nin potential OOB when a large number of jacks are set up via configfs,\nalthough the max number of cables (the loop count) is limited to\nMAX_CABLES.\n\nFor addressing it, correct the jack_ins & jack_outs array sizes to\ntwice, MAX_CABLES * 2.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-10-18 16:17:30","updated_at":"2026-10-21 13:21:45"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/18138d9f19cf6944ff09f5c8c0930545036fe3d0","name":"https://git.kernel.org/stable/c/18138d9f19cf6944ff09f5c8c0930545036fe3d0","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/87f2185423e01f113811301878f2f67eccec960d","name":"https://git.kernel.org/stable/c/87f2185423e01f113811301878f2f67eccec960d","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/310c2d4608d8c1a2baa57db1dfd319c5c40cf4a1","name":"https://git.kernel.org/stable/c/310c2d4608d8c1a2baa57db1dfd319c5c40cf4a1","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/8294ff75a9de23f7cc641e5e5ca31fa6ea72a574","name":"https://git.kernel.org/stable/c/8294ff75a9de23f7cc641e5e5ca31fa6ea72a574","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/223c3bd02a582776d8ee47dae7b69d3258420694","name":"https://git.kernel.org/stable/c/223c3bd02a582776d8ee47dae7b69d3258420694","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-98770","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-98770","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 856fa444b0982746f95e801bab0e586533eb29a3 18138d9f19cf6944ff09f5c8c0930545036fe3d0 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 856fa444b0982746f95e801bab0e586533eb29a3 8294ff75a9de23f7cc641e5e5ca31fa6ea72a574 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 856fa444b0982746f95e801bab0e586533eb29a3 87f2185423e01f113811301878f2f67eccec960d git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 856fa444b0982746f95e801bab0e586533eb29a3 223c3bd02a582776d8ee47dae7b69d3258420694 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 856fa444b0982746f95e801bab0e586533eb29a3 310c2d4608d8c1a2baa57db1dfd319c5c40cf4a1 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.6","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.6 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.6.160 6.6.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.12.113 6.12.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.56 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.2.10 7.2.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.3 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"98770","cve":"CVE-2026-98770","epss":"0.002000000","percentile":"0.092900000","score_date":"2026-10-21","updated_at":"2026-10-22 00:15:10"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["drivers/usb/gadget/function/f_midi2.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"18138d9f19cf6944ff09f5c8c0930545036fe3d0","status":"affected","version":"856fa444b0982746f95e801bab0e586533eb29a3","versionType":"git"},{"lessThan":"8294ff75a9de23f7cc641e5e5ca31fa6ea72a574","status":"affected","version":"856fa444b0982746f95e801bab0e586533eb29a3","versionType":"git"},{"lessThan":"87f2185423e01f113811301878f2f67eccec960d","status":"affected","version":"856fa444b0982746f95e801bab0e586533eb29a3","versionType":"git"},{"lessThan":"223c3bd02a582776d8ee47dae7b69d3258420694","status":"affected","version":"856fa444b0982746f95e801bab0e586533eb29a3","versionType":"git"},{"lessThan":"310c2d4608d8c1a2baa57db1dfd319c5c40cf4a1","status":"affected","version":"856fa444b0982746f95e801bab0e586533eb29a3","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["drivers/usb/gadget/function/f_midi2.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"6.6"},{"lessThan":"6.6","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"6.6.*","status":"unaffected","version":"6.6.160","versionType":"semver"},{"lessThanOrEqual":"6.12.*","status":"unaffected","version":"6.12.113","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.56","versionType":"semver"},{"lessThanOrEqual":"7.2.*","status":"unaffected","version":"7.2.10","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.3","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.6.160","versionStartIncluding":"6.6","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.12.113","versionStartIncluding":"6.6","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.56","versionStartIncluding":"6.6","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.2.10","versionStartIncluding":"6.6","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.3","versionStartIncluding":"6.6","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nusb: gadget: midi2: Fix the jack descriptor array sizes\n\nThe jack in/out descriptor arrays in struct f_midi2_usb_config have\nthe size of MAX_CABLES, which look reasonable -- but it turned out to\nbe incorrect.  Namely, the entries for those arrays are added from\nboth inputs and outputs, hence for each loop cycle, it adds two, ended\nup with as twice as the expected size.  This inconsistency may result\nin potential OOB when a large number of jacks are set up via configfs,\nalthough the max number of cables (the loop count) is limited to\nMAX_CABLES.\n\nFor addressing it, correct the jack_ins & jack_outs array sizes to\ntwice, MAX_CABLES * 2."}],"providerMetadata":{"dateUpdated":"2026-10-21T12:56:45.210Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/18138d9f19cf6944ff09f5c8c0930545036fe3d0"},{"url":"https://git.kernel.org/stable/c/8294ff75a9de23f7cc641e5e5ca31fa6ea72a574"},{"url":"https://git.kernel.org/stable/c/87f2185423e01f113811301878f2f67eccec960d"},{"url":"https://git.kernel.org/stable/c/223c3bd02a582776d8ee47dae7b69d3258420694"},{"url":"https://git.kernel.org/stable/c/310c2d4608d8c1a2baa57db1dfd319c5c40cf4a1"}],"title":"usb: gadget: midi2: Fix the jack descriptor array sizes","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-98770","datePublished":"2026-10-18T15:48:06.586Z","dateReserved":"2026-09-25T10:25:14.369Z","dateUpdated":"2026-10-21T12:56:45.210Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-10-18 16:17:30","lastModifiedDate":"2026-10-21 13:21:45","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"98770","Ordinal":"1","Title":"usb: gadget: midi2: Fix the jack descriptor array sizes","CVE":"CVE-2026-98770","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"98770","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nusb: gadget: midi2: Fix the jack descriptor array sizes\n\nThe jack in/out descriptor arrays in struct f_midi2_usb_config have\nthe size of MAX_CABLES, which look reasonable -- but it turned out to\nbe incorrect.  Namely, the entries for those arrays are added from\nboth inputs and outputs, hence for each loop cycle, it adds two, ended\nup with as twice as the expected size.  This inconsistency may result\nin potential OOB when a large number of jacks are set up via configfs,\nalthough the max number of cables (the loop count) is limited to\nMAX_CABLES.\n\nFor addressing it, correct the jack_ins & jack_outs array sizes to\ntwice, MAX_CABLES * 2.","Type":"Description","Title":"usb: gadget: midi2: Fix the jack descriptor array sizes"}]}}}