{"api_version":"1","generated_at":"2026-08-16T20:39:49+00:00","cve":"CVE-2026-74300","urls":{"html":"https://cve.report/CVE-2026-74300","api":"https://cve.report/api/cve/CVE-2026-74300.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-74300","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-74300"},"summary":{"title":"Bluetooth: hci: validate codec capability element length","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: hci: validate codec capability element length\n\nRead Local Codec Capabilities returns a sequence of capability elements.\nEach element starts with a one-byte length followed by that many payload\nbytes.\n\nhci_read_codec_capabilities() checks that the skb contains the length\nbyte, but then validates only caps->len against the remaining skb\nlength.  A malformed controller response with one remaining byte and\ncaps->len set to one passes that check even though the element needs two\nbytes.  The parser then records a two-byte capability and copies one\nbyte beyond the advertised response payload into the codec list.\n\nValidate the full element size, including the length byte, before adding\nit to the accumulated capability length.  This preserves all well-formed\ncapability elements and drops only truncated controller responses.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-08-15 06:22:29","updated_at":"2026-08-15 06:22:29"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/fc97fc8cf7f53fd3619db63e09050d20a3a0c4b1","name":"https://git.kernel.org/stable/c/fc97fc8cf7f53fd3619db63e09050d20a3a0c4b1","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/f2ad01f55e07f9531efcea736087e6b8658a3440","name":"https://git.kernel.org/stable/c/f2ad01f55e07f9531efcea736087e6b8658a3440","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/ec4d352747a62c1082f16c11a74b37d6eb85a5a3","name":"https://git.kernel.org/stable/c/ec4d352747a62c1082f16c11a74b37d6eb85a5a3","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/4bc16db0f11918e07edf9fdcda4a30cf4c9df45c","name":"https://git.kernel.org/stable/c/4bc16db0f11918e07edf9fdcda4a30cf4c9df45c","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/290b36f9d1eb9b2f72b40d826f26b4a182ab15f7","name":"https://git.kernel.org/stable/c/290b36f9d1eb9b2f72b40d826f26b4a182ab15f7","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/c38fbcdc407925c7088f7e5f11c1fff73d2d35a2","name":"https://git.kernel.org/stable/c/c38fbcdc407925c7088f7e5f11c1fff73d2d35a2","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-74300","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-74300","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 8961987f3f5fa2f2618e72304d013c8dd5e604a6 fc97fc8cf7f53fd3619db63e09050d20a3a0c4b1 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 8961987f3f5fa2f2618e72304d013c8dd5e604a6 290b36f9d1eb9b2f72b40d826f26b4a182ab15f7 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 8961987f3f5fa2f2618e72304d013c8dd5e604a6 f2ad01f55e07f9531efcea736087e6b8658a3440 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 8961987f3f5fa2f2618e72304d013c8dd5e604a6 ec4d352747a62c1082f16c11a74b37d6eb85a5a3 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 8961987f3f5fa2f2618e72304d013c8dd5e604a6 4bc16db0f11918e07edf9fdcda4a30cf4c9df45c git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 8961987f3f5fa2f2618e72304d013c8dd5e604a6 c38fbcdc407925c7088f7e5f11c1fff73d2d35a2 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 5.16","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.16 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.1.178 6.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.6.145 6.6.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.12.97 6.12.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.40 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.1.5 7.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.2-rc1 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"74300","cve":"CVE-2026-74300","epss":"0.001720000","percentile":"0.069260000","score_date":"2026-08-15","updated_at":"2026-08-16 00:00:30"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["net/bluetooth/hci_codec.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"fc97fc8cf7f53fd3619db63e09050d20a3a0c4b1","status":"affected","version":"8961987f3f5fa2f2618e72304d013c8dd5e604a6","versionType":"git"},{"lessThan":"290b36f9d1eb9b2f72b40d826f26b4a182ab15f7","status":"affected","version":"8961987f3f5fa2f2618e72304d013c8dd5e604a6","versionType":"git"},{"lessThan":"f2ad01f55e07f9531efcea736087e6b8658a3440","status":"affected","version":"8961987f3f5fa2f2618e72304d013c8dd5e604a6","versionType":"git"},{"lessThan":"ec4d352747a62c1082f16c11a74b37d6eb85a5a3","status":"affected","version":"8961987f3f5fa2f2618e72304d013c8dd5e604a6","versionType":"git"},{"lessThan":"4bc16db0f11918e07edf9fdcda4a30cf4c9df45c","status":"affected","version":"8961987f3f5fa2f2618e72304d013c8dd5e604a6","versionType":"git"},{"lessThan":"c38fbcdc407925c7088f7e5f11c1fff73d2d35a2","status":"affected","version":"8961987f3f5fa2f2618e72304d013c8dd5e604a6","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["net/bluetooth/hci_codec.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"5.16"},{"lessThan":"5.16","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"6.1.*","status":"unaffected","version":"6.1.178","versionType":"semver"},{"lessThanOrEqual":"6.6.*","status":"unaffected","version":"6.6.145","versionType":"semver"},{"lessThanOrEqual":"6.12.*","status":"unaffected","version":"6.12.97","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.40","versionType":"semver"},{"lessThanOrEqual":"7.1.*","status":"unaffected","version":"7.1.5","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.2-rc1","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.1.178","versionStartIncluding":"5.16","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.6.145","versionStartIncluding":"5.16","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.12.97","versionStartIncluding":"5.16","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.40","versionStartIncluding":"5.16","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.1.5","versionStartIncluding":"5.16","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.2-rc1","versionStartIncluding":"5.16","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: hci: validate codec capability element length\n\nRead Local Codec Capabilities returns a sequence of capability elements.\nEach element starts with a one-byte length followed by that many payload\nbytes.\n\nhci_read_codec_capabilities() checks that the skb contains the length\nbyte, but then validates only caps->len against the remaining skb\nlength.  A malformed controller response with one remaining byte and\ncaps->len set to one passes that check even though the element needs two\nbytes.  The parser then records a two-byte capability and copies one\nbyte beyond the advertised response payload into the codec list.\n\nValidate the full element size, including the length byte, before adding\nit to the accumulated capability length.  This preserves all well-formed\ncapability elements and drops only truncated controller responses."}],"providerMetadata":{"dateUpdated":"2026-08-15T05:58:03.348Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/fc97fc8cf7f53fd3619db63e09050d20a3a0c4b1"},{"url":"https://git.kernel.org/stable/c/290b36f9d1eb9b2f72b40d826f26b4a182ab15f7"},{"url":"https://git.kernel.org/stable/c/f2ad01f55e07f9531efcea736087e6b8658a3440"},{"url":"https://git.kernel.org/stable/c/ec4d352747a62c1082f16c11a74b37d6eb85a5a3"},{"url":"https://git.kernel.org/stable/c/4bc16db0f11918e07edf9fdcda4a30cf4c9df45c"},{"url":"https://git.kernel.org/stable/c/c38fbcdc407925c7088f7e5f11c1fff73d2d35a2"}],"title":"Bluetooth: hci: validate codec capability element length","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-74300","datePublished":"2026-08-15T05:58:03.348Z","dateReserved":"2026-08-15T05:44:03.882Z","dateUpdated":"2026-08-15T05:58:03.348Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-08-15 06:22:29","lastModifiedDate":"2026-08-15 06:22:29","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"74300","Ordinal":"1","Title":"Bluetooth: hci: validate codec capability element length","CVE":"CVE-2026-74300","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"74300","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: hci: validate codec capability element length\n\nRead Local Codec Capabilities returns a sequence of capability elements.\nEach element starts with a one-byte length followed by that many payload\nbytes.\n\nhci_read_codec_capabilities() checks that the skb contains the length\nbyte, but then validates only caps->len against the remaining skb\nlength.  A malformed controller response with one remaining byte and\ncaps->len set to one passes that check even though the element needs two\nbytes.  The parser then records a two-byte capability and copies one\nbyte beyond the advertised response payload into the codec list.\n\nValidate the full element size, including the length byte, before adding\nit to the accumulated capability length.  This preserves all well-formed\ncapability elements and drops only truncated controller responses.","Type":"Description","Title":"Bluetooth: hci: validate codec capability element length"}]}}}