{"id":"CVE-2026-90257","state":"PUBLISHED","title":"Bluetooth: virtio_bt: avoid OOB read of build info string","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: virtio_bt: avoid OOB read of build info string\n\nThe virtbt_setup_zephyr() sends the Zephyr vendor command 0xfc08 (Read\nBuild Information) and hands the response to bt_dev_info() and\nhci_set_fw_info() as a \"%s\" string starting at skb->data + 1, without\nchecking the length. A backend that answers with status only leaves that\npointer past the end of the received data, so the walk reads adjacent\nslab memory until it meets a NUL. Those bytes reach the kernel log and\nthe firmware-info debugfs file.\n\nTo fix this, print the string with a bounded \"%.*s\" limited to\nskb->len - 1. A short or unterminated response then prints as much as\narrived instead of failing setup.\n\nThis mirrors commit dd068ef04412 (\"Bluetooth: bpa10x: avoid OOB read of\nrevision string in bpa10x_setup()\"), which fixed the identical pattern.","publishedAt":"2026-09-17T16:07:56.089Z","updatedAt":"2026-10-19T09:00:33.856Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"afd2daa26c7abd734d78bd274fc6c59a15e61063","status":"affected","lessThan":"fb445b3466a8d1c7a0b0d0676fb475e3ce22d94e","versionType":"git"},{"version":"afd2daa26c7abd734d78bd274fc6c59a15e61063","status":"affected","lessThan":"d08c99abf06133a7829d46627e77e3315ca974d2","versionType":"git"},{"version":"afd2daa26c7abd734d78bd274fc6c59a15e61063","status":"affected","lessThan":"0e388d805233a883a31271676eae6031dfc9e898","versionType":"git"},{"version":"afd2daa26c7abd734d78bd274fc6c59a15e61063","status":"affected","lessThan":"54e9387eb7546eaa6f600220599d55740956ffc3","versionType":"git"},{"version":"afd2daa26c7abd734d78bd274fc6c59a15e61063","status":"affected","lessThan":"be1e3df2c49c91b0a052c6563884e8d39bd768b2","versionType":"git"},{"version":"afd2daa26c7abd734d78bd274fc6c59a15e61063","status":"affected","lessThan":"84ea9c99874804f5ca13f35bbc186ba93902f30f","versionType":"git"},{"version":"afd2daa26c7abd734d78bd274fc6c59a15e61063","status":"affected","lessThan":"502adc06ba76dee19c292ae4a07d74d202fe734d","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/bluetooth/virtio_bt.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.13","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.13","versionType":"semver"},{"version":"5.15.221","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.188","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.157","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.110","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.52","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.2.6","status":"unaffected","lessThanOrEqual":"7.2.*","versionType":"semver"},{"version":"7.3","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/bluetooth/virtio_bt.c"]}],"references":["https://git.kernel.org/stable/c/fb445b3466a8d1c7a0b0d0676fb475e3ce22d94e","https://git.kernel.org/stable/c/d08c99abf06133a7829d46627e77e3315ca974d2","https://git.kernel.org/stable/c/0e388d805233a883a31271676eae6031dfc9e898","https://git.kernel.org/stable/c/54e9387eb7546eaa6f600220599d55740956ffc3","https://git.kernel.org/stable/c/be1e3df2c49c91b0a052c6563884e8d39bd768b2","https://git.kernel.org/stable/c/84ea9c99874804f5ca13f35bbc186ba93902f30f","https://git.kernel.org/stable/c/502adc06ba76dee19c292ae4a07d74d202fe734d"],"weaknesses":[],"ingestedAt":"2026-10-29T20:13:34.582Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/90xxx/CVE-2026-90257.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-90257","state":"PUBLISHED","datePublished":"2026-09-17T16:07:56.089Z","dateUpdated":"2026-10-19T09:00:33.856Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-09-11T19:38:34.796Z"},"containers":{"cna":{"title":"Bluetooth: virtio_bt: avoid OOB read of build info string","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: virtio_bt: avoid OOB read of build info string\n\nThe virtbt_setup_zephyr() sends the Zephyr vendor command 0xfc08 (Read\nBuild Information) and hands the response to bt_dev_info() and\nhci_set_fw_info() as a \"%s\" string starting at skb->data + 1, without\nchecking the length. A backend that answers with status only leaves that\npointer past the end of the received data, so the walk reads adjacent\nslab memory until it meets a NUL. Those bytes reach the kernel log and\nthe firmware-info debugfs file.\n\nTo fix this, print the string with a bounded \"%.*s\" limited to\nskb->len - 1. A short or unterminated response then prints as much as\narrived instead of failing setup.\n\nThis mirrors commit dd068ef04412 (\"Bluetooth: bpa10x: avoid OOB read of\nrevision string in bpa10x_setup()\"), which fixed the identical pattern."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"afd2daa26c7abd734d78bd274fc6c59a15e61063","status":"affected","lessThan":"fb445b3466a8d1c7a0b0d0676fb475e3ce22d94e","versionType":"git"},{"version":"afd2daa26c7abd734d78bd274fc6c59a15e61063","status":"affected","lessThan":"d08c99abf06133a7829d46627e77e3315ca974d2","versionType":"git"},{"version":"afd2daa26c7abd734d78bd274fc6c59a15e61063","status":"affected","lessThan":"0e388d805233a883a31271676eae6031dfc9e898","versionType":"git"},{"version":"afd2daa26c7abd734d78bd274fc6c59a15e61063","status":"affected","lessThan":"54e9387eb7546eaa6f600220599d55740956ffc3","versionType":"git"},{"version":"afd2daa26c7abd734d78bd274fc6c59a15e61063","status":"affected","lessThan":"be1e3df2c49c91b0a052c6563884e8d39bd768b2","versionType":"git"},{"version":"afd2daa26c7abd734d78bd274fc6c59a15e61063","status":"affected","lessThan":"84ea9c99874804f5ca13f35bbc186ba93902f30f","versionType":"git"},{"version":"afd2daa26c7abd734d78bd274fc6c59a15e61063","status":"affected","lessThan":"502adc06ba76dee19c292ae4a07d74d202fe734d","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/bluetooth/virtio_bt.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.13","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.13","versionType":"semver"},{"version":"5.15.221","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.188","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.157","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.110","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.52","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.2.6","status":"unaffected","lessThanOrEqual":"7.2.*","versionType":"semver"},{"version":"7.3","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/bluetooth/virtio_bt.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/fb445b3466a8d1c7a0b0d0676fb475e3ce22d94e"},{"url":"https://git.kernel.org/stable/c/d08c99abf06133a7829d46627e77e3315ca974d2"},{"url":"https://git.kernel.org/stable/c/0e388d805233a883a31271676eae6031dfc9e898"},{"url":"https://git.kernel.org/stable/c/54e9387eb7546eaa6f600220599d55740956ffc3"},{"url":"https://git.kernel.org/stable/c/be1e3df2c49c91b0a052c6563884e8d39bd768b2"},{"url":"https://git.kernel.org/stable/c/84ea9c99874804f5ca13f35bbc186ba93902f30f"},{"url":"https://git.kernel.org/stable/c/502adc06ba76dee19c292ae4a07d74d202fe734d"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-10-19T09:00:33.856Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.13","versionEndExcluding":"5.15.221"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.13","versionEndExcluding":"6.1.188"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.13","versionEndExcluding":"6.6.157"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.13","versionEndExcluding":"6.12.110"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.13","versionEndExcluding":"6.18.52"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.13","versionEndExcluding":"7.2.6"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.13","versionEndExcluding":"7.3"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}