{"id":"CVE-2026-43427","state":"PUBLISHED","title":"usb: class: cdc-wdm: fix reordering issue in read code path","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nusb: class: cdc-wdm: fix reordering issue in read code path\n\nQuoting the bug report:\n\nDue to compiler optimization or CPU out-of-order execution, the\ndesc->length update can be reordered before the memmove. If this\nhappens, wdm_read() can see the new length and call copy_to_user() on\nuninitialized memory. This also violates LKMM data race rules [1].\n\nFix it by using WRITE_ONCE and memory barriers.","publishedAt":"2026-05-08T14:22:00.345Z","updatedAt":"2026-05-11T22:24:22.781Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"afba937e540c902c989cd516fd97ea0c8499bb27","status":"affected","lessThan":"638328ca9c17ae6511ad62198c57bae32ffa3c91","versionType":"git"},{"version":"afba937e540c902c989cd516fd97ea0c8499bb27","status":"affected","lessThan":"170e8daca24da6edb4be82ab01abf44e87af387b","versionType":"git"},{"version":"afba937e540c902c989cd516fd97ea0c8499bb27","status":"affected","lessThan":"c8fa96ed021923dae147bcd9f9205b8df7b82360","versionType":"git"},{"version":"afba937e540c902c989cd516fd97ea0c8499bb27","status":"affected","lessThan":"4ee3062bf2c9a722afef429826e8607eaf3fc6a0","versionType":"git"},{"version":"afba937e540c902c989cd516fd97ea0c8499bb27","status":"affected","lessThan":"276aef0fd2b92f41b920ac891c72cadeee957934","versionType":"git"},{"version":"afba937e540c902c989cd516fd97ea0c8499bb27","status":"affected","lessThan":"67ed312124bb1b61858778ac0b985b48961c862a","versionType":"git"},{"version":"afba937e540c902c989cd516fd97ea0c8499bb27","status":"affected","lessThan":"e3c874b05901dc519054b5107d16620e6d2b5fea","versionType":"git"},{"version":"afba937e540c902c989cd516fd97ea0c8499bb27","status":"affected","lessThan":"8df672bfe3ec2268c2636584202755898e547173","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/usb/class/cdc-wdm.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"2.6.26","status":"affected"},{"version":"0","status":"unaffected","lessThan":"2.6.26","versionType":"semver"},{"version":"5.10.253","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.203","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.167","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.130","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.78","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.19","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"6.19.9","status":"unaffected","lessThanOrEqual":"6.19.*","versionType":"semver"},{"version":"7.0","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/usb/class/cdc-wdm.c"]}],"references":["https://git.kernel.org/stable/c/638328ca9c17ae6511ad62198c57bae32ffa3c91","https://git.kernel.org/stable/c/170e8daca24da6edb4be82ab01abf44e87af387b","https://git.kernel.org/stable/c/c8fa96ed021923dae147bcd9f9205b8df7b82360","https://git.kernel.org/stable/c/4ee3062bf2c9a722afef429826e8607eaf3fc6a0","https://git.kernel.org/stable/c/276aef0fd2b92f41b920ac891c72cadeee957934","https://git.kernel.org/stable/c/67ed312124bb1b61858778ac0b985b48961c862a","https://git.kernel.org/stable/c/e3c874b05901dc519054b5107d16620e6d2b5fea","https://git.kernel.org/stable/c/8df672bfe3ec2268c2636584202755898e547173"],"weaknesses":[],"ingestedAt":"2026-10-29T20:11:57.932Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/43xxx/CVE-2026-43427.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-43427","state":"PUBLISHED","datePublished":"2026-05-08T14:22:00.345Z","dateUpdated":"2026-05-11T22:24:22.781Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-05-01T14:12:56.009Z"},"containers":{"cna":{"title":"usb: class: cdc-wdm: fix reordering issue in read code path","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nusb: class: cdc-wdm: fix reordering issue in read code path\n\nQuoting the bug report:\n\nDue to compiler optimization or CPU out-of-order execution, the\ndesc->length update can be reordered before the memmove. If this\nhappens, wdm_read() can see the new length and call copy_to_user() on\nuninitialized memory. This also violates LKMM data race rules [1].\n\nFix it by using WRITE_ONCE and memory barriers."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"afba937e540c902c989cd516fd97ea0c8499bb27","status":"affected","lessThan":"638328ca9c17ae6511ad62198c57bae32ffa3c91","versionType":"git"},{"version":"afba937e540c902c989cd516fd97ea0c8499bb27","status":"affected","lessThan":"170e8daca24da6edb4be82ab01abf44e87af387b","versionType":"git"},{"version":"afba937e540c902c989cd516fd97ea0c8499bb27","status":"affected","lessThan":"c8fa96ed021923dae147bcd9f9205b8df7b82360","versionType":"git"},{"version":"afba937e540c902c989cd516fd97ea0c8499bb27","status":"affected","lessThan":"4ee3062bf2c9a722afef429826e8607eaf3fc6a0","versionType":"git"},{"version":"afba937e540c902c989cd516fd97ea0c8499bb27","status":"affected","lessThan":"276aef0fd2b92f41b920ac891c72cadeee957934","versionType":"git"},{"version":"afba937e540c902c989cd516fd97ea0c8499bb27","status":"affected","lessThan":"67ed312124bb1b61858778ac0b985b48961c862a","versionType":"git"},{"version":"afba937e540c902c989cd516fd97ea0c8499bb27","status":"affected","lessThan":"e3c874b05901dc519054b5107d16620e6d2b5fea","versionType":"git"},{"version":"afba937e540c902c989cd516fd97ea0c8499bb27","status":"affected","lessThan":"8df672bfe3ec2268c2636584202755898e547173","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/usb/class/cdc-wdm.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"2.6.26","status":"affected"},{"version":"0","status":"unaffected","lessThan":"2.6.26","versionType":"semver"},{"version":"5.10.253","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.203","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.167","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.130","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.78","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.19","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"6.19.9","status":"unaffected","lessThanOrEqual":"6.19.*","versionType":"semver"},{"version":"7.0","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/usb/class/cdc-wdm.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/638328ca9c17ae6511ad62198c57bae32ffa3c91"},{"url":"https://git.kernel.org/stable/c/170e8daca24da6edb4be82ab01abf44e87af387b"},{"url":"https://git.kernel.org/stable/c/c8fa96ed021923dae147bcd9f9205b8df7b82360"},{"url":"https://git.kernel.org/stable/c/4ee3062bf2c9a722afef429826e8607eaf3fc6a0"},{"url":"https://git.kernel.org/stable/c/276aef0fd2b92f41b920ac891c72cadeee957934"},{"url":"https://git.kernel.org/stable/c/67ed312124bb1b61858778ac0b985b48961c862a"},{"url":"https://git.kernel.org/stable/c/e3c874b05901dc519054b5107d16620e6d2b5fea"},{"url":"https://git.kernel.org/stable/c/8df672bfe3ec2268c2636584202755898e547173"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-11T22:24:22.781Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.26","versionEndExcluding":"5.10.253"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.26","versionEndExcluding":"5.15.203"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.26","versionEndExcluding":"6.1.167"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.26","versionEndExcluding":"6.6.130"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.26","versionEndExcluding":"6.12.78"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.26","versionEndExcluding":"6.18.19"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.26","versionEndExcluding":"6.19.9"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.26","versionEndExcluding":"7.0"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}