{"api_version":"1","generated_at":"2026-06-28T18:51:27+00:00","cve":"CVE-2026-53194","urls":{"html":"https://cve.report/CVE-2026-53194","api":"https://cve.report/api/cve/CVE-2026-53194.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-53194","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-53194"},"summary":{"title":"USB: serial: kl5kusb105: fix bulk-out buffer overflow","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nUSB: serial: kl5kusb105: fix bulk-out buffer overflow\n\nklsi_105_prepare_write_buffer() is called by the generic write path\nwith the bulk-out buffer and its size (bulk_out_size, 64 bytes). It\nstores a two-byte length header at the start of the buffer and copies\nthe payload from the write fifo starting at buf + KLSI_HDR_LEN, but\npasses the full buffer size as the number of bytes to copy:\n\n  count = kfifo_out_locked(&port->write_fifo, buf + KLSI_HDR_LEN,\n                           size, &port->lock);\n\nWhen the fifo holds at least size bytes, size bytes are copied starting\ntwo bytes into the size-byte buffer, writing KLSI_HDR_LEN bytes past its\nend. Copy at most size - KLSI_HDR_LEN bytes instead, leaving room for\nthe header as safe_serial already does.\n\nWriting bulk_out_size or more bytes to the tty triggers a slab\nout-of-bounds write, observed with KASAN by emulating the device with\ndummy_hcd and raw-gadget:\n\n  BUG: KASAN: slab-out-of-bounds in kfifo_copy_out+0x83/0xc0\n  Write of size 64 at addr ffff888112c62202 by task python3\n   kfifo_copy_out\n   klsi_105_prepare_write_buffer [kl5kusb105]\n   usb_serial_generic_write_start [usbserial]\n  Allocated by task 139:\n   usb_serial_probe [usbserial]\n  The buggy address is located 2 bytes inside of allocated 64-byte region\n\nThe out-of-bounds write no longer occurs with this change applied.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-06-25 09:16:36","updated_at":"2026-06-28 08:16:37"},"problem_types":[],"metrics":[{"version":"3.1","source":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","type":"Secondary","score":"7.8","severity":"HIGH","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":7.8,"baseSeverity":"HIGH","attackVector":"LOCAL","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"7.8","severity":"HIGH","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","data":{"baseScore":7.8,"baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","version":"3.1"}}],"references":[{"url":"https://git.kernel.org/stable/c/0a57320f71941d4e0b1307453c9a1f0939afe666","name":"https://git.kernel.org/stable/c/0a57320f71941d4e0b1307453c9a1f0939afe666","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/60af1fd82983c26604102e63a3fcc822c186cceb","name":"https://git.kernel.org/stable/c/60af1fd82983c26604102e63a3fcc822c186cceb","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/372f33ebed747d91870f57c0a2e62884a870bffa","name":"https://git.kernel.org/stable/c/372f33ebed747d91870f57c0a2e62884a870bffa","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/96d47e40bf9db4a9efd5c8fb53287a508d165f14","name":"https://git.kernel.org/stable/c/96d47e40bf9db4a9efd5c8fb53287a508d165f14","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/14147b7963685957839c76ba8094924e22777d79","name":"https://git.kernel.org/stable/c/14147b7963685957839c76ba8094924e22777d79","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/a1288cd700f721c1a119c4f1e8efa234e59caada","name":"https://git.kernel.org/stable/c/a1288cd700f721c1a119c4f1e8efa234e59caada","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/bde742b076cbe26ecc89c8c68c76ae076a524d02","name":"https://git.kernel.org/stable/c/bde742b076cbe26ecc89c8c68c76ae076a524d02","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/70d86e355c564b5510fde61361df014f5476c83e","name":"https://git.kernel.org/stable/c/70d86e355c564b5510fde61361df014f5476c83e","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-53194","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-53194","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 60b3013cdaf3fa8a17243ca46b19db3cbe08d943 60af1fd82983c26604102e63a3fcc822c186cceb git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 60b3013cdaf3fa8a17243ca46b19db3cbe08d943 0a57320f71941d4e0b1307453c9a1f0939afe666 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 60b3013cdaf3fa8a17243ca46b19db3cbe08d943 14147b7963685957839c76ba8094924e22777d79 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 60b3013cdaf3fa8a17243ca46b19db3cbe08d943 a1288cd700f721c1a119c4f1e8efa234e59caada git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 60b3013cdaf3fa8a17243ca46b19db3cbe08d943 70d86e355c564b5510fde61361df014f5476c83e git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 60b3013cdaf3fa8a17243ca46b19db3cbe08d943 372f33ebed747d91870f57c0a2e62884a870bffa git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 60b3013cdaf3fa8a17243ca46b19db3cbe08d943 bde742b076cbe26ecc89c8c68c76ae076a524d02 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 60b3013cdaf3fa8a17243ca46b19db3cbe08d943 96d47e40bf9db4a9efd5c8fb53287a508d165f14 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 2.6.35","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 2.6.35 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.10.259 5.10.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.15.210 5.15.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.1.176 6.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.6.143 6.6.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.12.94 6.12.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.36 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.0.13 7.0.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.1 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"53194","cve":"CVE-2026-53194","epss":"0.001950000","percentile":"0.094020000","score_date":"2026-06-27","updated_at":"2026-06-28 00:08:50"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["drivers/usb/serial/kl5kusb105.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"60af1fd82983c26604102e63a3fcc822c186cceb","status":"affected","version":"60b3013cdaf3fa8a17243ca46b19db3cbe08d943","versionType":"git"},{"lessThan":"0a57320f71941d4e0b1307453c9a1f0939afe666","status":"affected","version":"60b3013cdaf3fa8a17243ca46b19db3cbe08d943","versionType":"git"},{"lessThan":"14147b7963685957839c76ba8094924e22777d79","status":"affected","version":"60b3013cdaf3fa8a17243ca46b19db3cbe08d943","versionType":"git"},{"lessThan":"a1288cd700f721c1a119c4f1e8efa234e59caada","status":"affected","version":"60b3013cdaf3fa8a17243ca46b19db3cbe08d943","versionType":"git"},{"lessThan":"70d86e355c564b5510fde61361df014f5476c83e","status":"affected","version":"60b3013cdaf3fa8a17243ca46b19db3cbe08d943","versionType":"git"},{"lessThan":"372f33ebed747d91870f57c0a2e62884a870bffa","status":"affected","version":"60b3013cdaf3fa8a17243ca46b19db3cbe08d943","versionType":"git"},{"lessThan":"bde742b076cbe26ecc89c8c68c76ae076a524d02","status":"affected","version":"60b3013cdaf3fa8a17243ca46b19db3cbe08d943","versionType":"git"},{"lessThan":"96d47e40bf9db4a9efd5c8fb53287a508d165f14","status":"affected","version":"60b3013cdaf3fa8a17243ca46b19db3cbe08d943","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["drivers/usb/serial/kl5kusb105.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"2.6.35"},{"lessThan":"2.6.35","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"5.10.*","status":"unaffected","version":"5.10.259","versionType":"semver"},{"lessThanOrEqual":"5.15.*","status":"unaffected","version":"5.15.210","versionType":"semver"},{"lessThanOrEqual":"6.1.*","status":"unaffected","version":"6.1.176","versionType":"semver"},{"lessThanOrEqual":"6.6.*","status":"unaffected","version":"6.6.143","versionType":"semver"},{"lessThanOrEqual":"6.12.*","status":"unaffected","version":"6.12.94","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.36","versionType":"semver"},{"lessThanOrEqual":"7.0.*","status":"unaffected","version":"7.0.13","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.1","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"5.10.259","versionStartIncluding":"2.6.35","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"5.15.210","versionStartIncluding":"2.6.35","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.1.176","versionStartIncluding":"2.6.35","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.6.143","versionStartIncluding":"2.6.35","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.12.94","versionStartIncluding":"2.6.35","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.36","versionStartIncluding":"2.6.35","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.0.13","versionStartIncluding":"2.6.35","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.1","versionStartIncluding":"2.6.35","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nUSB: serial: kl5kusb105: fix bulk-out buffer overflow\n\nklsi_105_prepare_write_buffer() is called by the generic write path\nwith the bulk-out buffer and its size (bulk_out_size, 64 bytes). It\nstores a two-byte length header at the start of the buffer and copies\nthe payload from the write fifo starting at buf + KLSI_HDR_LEN, but\npasses the full buffer size as the number of bytes to copy:\n\n  count = kfifo_out_locked(&port->write_fifo, buf + KLSI_HDR_LEN,\n                           size, &port->lock);\n\nWhen the fifo holds at least size bytes, size bytes are copied starting\ntwo bytes into the size-byte buffer, writing KLSI_HDR_LEN bytes past its\nend. Copy at most size - KLSI_HDR_LEN bytes instead, leaving room for\nthe header as safe_serial already does.\n\nWriting bulk_out_size or more bytes to the tty triggers a slab\nout-of-bounds write, observed with KASAN by emulating the device with\ndummy_hcd and raw-gadget:\n\n  BUG: KASAN: slab-out-of-bounds in kfifo_copy_out+0x83/0xc0\n  Write of size 64 at addr ffff888112c62202 by task python3\n   kfifo_copy_out\n   klsi_105_prepare_write_buffer [kl5kusb105]\n   usb_serial_generic_write_start [usbserial]\n  Allocated by task 139:\n   usb_serial_probe [usbserial]\n  The buggy address is located 2 bytes inside of allocated 64-byte region\n\nThe out-of-bounds write no longer occurs with this change applied."}],"metrics":[{"cvssV3_1":{"baseScore":7.8,"baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","version":"3.1"}}],"providerMetadata":{"dateUpdated":"2026-06-28T06:40:13.470Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/60af1fd82983c26604102e63a3fcc822c186cceb"},{"url":"https://git.kernel.org/stable/c/0a57320f71941d4e0b1307453c9a1f0939afe666"},{"url":"https://git.kernel.org/stable/c/14147b7963685957839c76ba8094924e22777d79"},{"url":"https://git.kernel.org/stable/c/a1288cd700f721c1a119c4f1e8efa234e59caada"},{"url":"https://git.kernel.org/stable/c/70d86e355c564b5510fde61361df014f5476c83e"},{"url":"https://git.kernel.org/stable/c/372f33ebed747d91870f57c0a2e62884a870bffa"},{"url":"https://git.kernel.org/stable/c/bde742b076cbe26ecc89c8c68c76ae076a524d02"},{"url":"https://git.kernel.org/stable/c/96d47e40bf9db4a9efd5c8fb53287a508d165f14"}],"title":"USB: serial: kl5kusb105: fix bulk-out buffer overflow","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-53194","datePublished":"2026-06-25T08:39:05.017Z","dateReserved":"2026-06-09T07:44:35.390Z","dateUpdated":"2026-06-28T06:40:13.470Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-06-25 09:16:36","lastModifiedDate":"2026-06-28 08:16:37","problem_types":[],"metrics":{"cvssMetricV31":[{"source":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":7.8,"baseSeverity":"HIGH","attackVector":"LOCAL","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"},"exploitabilityScore":1.8,"impactScore":5.9}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"53194","Ordinal":"1","Title":"USB: serial: kl5kusb105: fix bulk-out buffer overflow","CVE":"CVE-2026-53194","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"53194","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nUSB: serial: kl5kusb105: fix bulk-out buffer overflow\n\nklsi_105_prepare_write_buffer() is called by the generic write path\nwith the bulk-out buffer and its size (bulk_out_size, 64 bytes). It\nstores a two-byte length header at the start of the buffer and copies\nthe payload from the write fifo starting at buf + KLSI_HDR_LEN, but\npasses the full buffer size as the number of bytes to copy:\n\n  count = kfifo_out_locked(&port->write_fifo, buf + KLSI_HDR_LEN,\n                           size, &port->lock);\n\nWhen the fifo holds at least size bytes, size bytes are copied starting\ntwo bytes into the size-byte buffer, writing KLSI_HDR_LEN bytes past its\nend. Copy at most size - KLSI_HDR_LEN bytes instead, leaving room for\nthe header as safe_serial already does.\n\nWriting bulk_out_size or more bytes to the tty triggers a slab\nout-of-bounds write, observed with KASAN by emulating the device with\ndummy_hcd and raw-gadget:\n\n  BUG: KASAN: slab-out-of-bounds in kfifo_copy_out+0x83/0xc0\n  Write of size 64 at addr ffff888112c62202 by task python3\n   kfifo_copy_out\n   klsi_105_prepare_write_buffer [kl5kusb105]\n   usb_serial_generic_write_start [usbserial]\n  Allocated by task 139:\n   usb_serial_probe [usbserial]\n  The buggy address is located 2 bytes inside of allocated 64-byte region\n\nThe out-of-bounds write no longer occurs with this change applied.","Type":"Description","Title":"USB: serial: kl5kusb105: fix bulk-out buffer overflow"}]}}}