{"id":"CVE-2026-90386","state":"PUBLISHED","title":"i3c: dw: avoid shift-out-of-bounds when DAA assigns no devices","description":"In the Linux kernel, the following vulnerability has been resolved:\n\ni3c: dw: avoid shift-out-of-bounds when DAA assigns no devices\n\nOn an empty bus ENTDAA assigns nothing, so cmd->rx_len (the count\nof addresses left unassigned) equals master->maxdevs.\n\nThe GENMASK() index master->maxdevs - cmd->rx_len - 1 then becomes -1,\nwhich trips up UBSAN. This happens every time on boot on a Gigabyte/AMD\nserver:\n\n    UBSAN: shift-out-of-bounds in drivers/i3c/master/dw-i3c-master.c:905:12\n    shift exponent 64 is too large for 64-bit type 'long unsigned int'\n    CPU: 7 UID: 0 PID: 963 Comm: (udev-worker) Not tainted 7.0.11-200.fc44.x86_64 #1 PREEMPT(lazy)\n    Hardware name: Giga Computing E163-Z34-AAH1-000/MZ33-DC1-000, BIOS R32_F45 04/01/2026\n    Call Trace:\n     <TASK>\n     dump_stack_lvl+0x5d/0x80\n     ubsan_epilogue+0x5/0x2b\n     __ubsan_handle_shift_out_of_bounds.cold+0xd7/0x1ab\n     dw_i3c_master_daa.cold+0x1b/0x96 [dw_i3c_master]\n     i3c_master_do_daa_ext.part.0+0x3e/0xf0 [i3c]\n\nSkip the mask when no new device was assigned.","publishedAt":"2026-09-17T16:09:21.842Z","updatedAt":"2026-10-19T09:02:48.790Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"1dd728f5d4d4b8b53196c1e0fcf86bbaaee39cef","status":"affected","lessThan":"5650b013e6bfc14c8b30be727f4a715b01860a08","versionType":"git"},{"version":"1dd728f5d4d4b8b53196c1e0fcf86bbaaee39cef","status":"affected","lessThan":"63110ccc434e10d9e9d2c7d82ebfa8a6f9cedd94","versionType":"git"},{"version":"1dd728f5d4d4b8b53196c1e0fcf86bbaaee39cef","status":"affected","lessThan":"3a1c35739efb69e8ec2a868113a0471a01bb8f29","versionType":"git"},{"version":"1dd728f5d4d4b8b53196c1e0fcf86bbaaee39cef","status":"affected","lessThan":"111f559e5b6461f5f6977275716e6c5d1eb7ea27","versionType":"git"},{"version":"1dd728f5d4d4b8b53196c1e0fcf86bbaaee39cef","status":"affected","lessThan":"754533e6169d1f10bdef7a6ba9bd7740b524e1d4","versionType":"git"},{"version":"1dd728f5d4d4b8b53196c1e0fcf86bbaaee39cef","status":"affected","lessThan":"9eaac0cb4ca94e2e32c53c156ae5b813ba7ef90c","versionType":"git"},{"version":"1dd728f5d4d4b8b53196c1e0fcf86bbaaee39cef","status":"affected","lessThan":"618dd640ded6b94bbdb79c798a901ec564797033","versionType":"git"},{"version":"1dd728f5d4d4b8b53196c1e0fcf86bbaaee39cef","status":"affected","lessThan":"038cf48b3170af26a70bf2dee4f8c3ac910f5176","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/i3c/master/dw-i3c-master.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.0","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.0","versionType":"semver"},{"version":"5.10.270","status":"unaffected","lessThanOrEqual":"5.10.*","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/i3c/master/dw-i3c-master.c"]}],"references":["https://git.kernel.org/stable/c/5650b013e6bfc14c8b30be727f4a715b01860a08","https://git.kernel.org/stable/c/63110ccc434e10d9e9d2c7d82ebfa8a6f9cedd94","https://git.kernel.org/stable/c/3a1c35739efb69e8ec2a868113a0471a01bb8f29","https://git.kernel.org/stable/c/111f559e5b6461f5f6977275716e6c5d1eb7ea27","https://git.kernel.org/stable/c/754533e6169d1f10bdef7a6ba9bd7740b524e1d4","https://git.kernel.org/stable/c/9eaac0cb4ca94e2e32c53c156ae5b813ba7ef90c","https://git.kernel.org/stable/c/618dd640ded6b94bbdb79c798a901ec564797033","https://git.kernel.org/stable/c/038cf48b3170af26a70bf2dee4f8c3ac910f5176"],"weaknesses":[],"ingestedAt":"2026-10-29T20:13:34.582Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/90xxx/CVE-2026-90386.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-90386","state":"PUBLISHED","datePublished":"2026-09-17T16:09:21.842Z","dateUpdated":"2026-10-19T09:02:48.790Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-09-11T19:38:34.809Z"},"containers":{"cna":{"title":"i3c: dw: avoid shift-out-of-bounds when DAA assigns no devices","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\ni3c: dw: avoid shift-out-of-bounds when DAA assigns no devices\n\nOn an empty bus ENTDAA assigns nothing, so cmd->rx_len (the count\nof addresses left unassigned) equals master->maxdevs.\n\nThe GENMASK() index master->maxdevs - cmd->rx_len - 1 then becomes -1,\nwhich trips up UBSAN. This happens every time on boot on a Gigabyte/AMD\nserver:\n\n    UBSAN: shift-out-of-bounds in drivers/i3c/master/dw-i3c-master.c:905:12\n    shift exponent 64 is too large for 64-bit type 'long unsigned int'\n    CPU: 7 UID: 0 PID: 963 Comm: (udev-worker) Not tainted 7.0.11-200.fc44.x86_64 #1 PREEMPT(lazy)\n    Hardware name: Giga Computing E163-Z34-AAH1-000/MZ33-DC1-000, BIOS R32_F45 04/01/2026\n    Call Trace:\n     <TASK>\n     dump_stack_lvl+0x5d/0x80\n     ubsan_epilogue+0x5/0x2b\n     __ubsan_handle_shift_out_of_bounds.cold+0xd7/0x1ab\n     dw_i3c_master_daa.cold+0x1b/0x96 [dw_i3c_master]\n     i3c_master_do_daa_ext.part.0+0x3e/0xf0 [i3c]\n\nSkip the mask when no new device was assigned."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"1dd728f5d4d4b8b53196c1e0fcf86bbaaee39cef","status":"affected","lessThan":"5650b013e6bfc14c8b30be727f4a715b01860a08","versionType":"git"},{"version":"1dd728f5d4d4b8b53196c1e0fcf86bbaaee39cef","status":"affected","lessThan":"63110ccc434e10d9e9d2c7d82ebfa8a6f9cedd94","versionType":"git"},{"version":"1dd728f5d4d4b8b53196c1e0fcf86bbaaee39cef","status":"affected","lessThan":"3a1c35739efb69e8ec2a868113a0471a01bb8f29","versionType":"git"},{"version":"1dd728f5d4d4b8b53196c1e0fcf86bbaaee39cef","status":"affected","lessThan":"111f559e5b6461f5f6977275716e6c5d1eb7ea27","versionType":"git"},{"version":"1dd728f5d4d4b8b53196c1e0fcf86bbaaee39cef","status":"affected","lessThan":"754533e6169d1f10bdef7a6ba9bd7740b524e1d4","versionType":"git"},{"version":"1dd728f5d4d4b8b53196c1e0fcf86bbaaee39cef","status":"affected","lessThan":"9eaac0cb4ca94e2e32c53c156ae5b813ba7ef90c","versionType":"git"},{"version":"1dd728f5d4d4b8b53196c1e0fcf86bbaaee39cef","status":"affected","lessThan":"618dd640ded6b94bbdb79c798a901ec564797033","versionType":"git"},{"version":"1dd728f5d4d4b8b53196c1e0fcf86bbaaee39cef","status":"affected","lessThan":"038cf48b3170af26a70bf2dee4f8c3ac910f5176","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/i3c/master/dw-i3c-master.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.0","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.0","versionType":"semver"},{"version":"5.10.270","status":"unaffected","lessThanOrEqual":"5.10.*","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/i3c/master/dw-i3c-master.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/5650b013e6bfc14c8b30be727f4a715b01860a08"},{"url":"https://git.kernel.org/stable/c/63110ccc434e10d9e9d2c7d82ebfa8a6f9cedd94"},{"url":"https://git.kernel.org/stable/c/3a1c35739efb69e8ec2a868113a0471a01bb8f29"},{"url":"https://git.kernel.org/stable/c/111f559e5b6461f5f6977275716e6c5d1eb7ea27"},{"url":"https://git.kernel.org/stable/c/754533e6169d1f10bdef7a6ba9bd7740b524e1d4"},{"url":"https://git.kernel.org/stable/c/9eaac0cb4ca94e2e32c53c156ae5b813ba7ef90c"},{"url":"https://git.kernel.org/stable/c/618dd640ded6b94bbdb79c798a901ec564797033"},{"url":"https://git.kernel.org/stable/c/038cf48b3170af26a70bf2dee4f8c3ac910f5176"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-10-19T09:02:48.790Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.0","versionEndExcluding":"5.10.270"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.0","versionEndExcluding":"5.15.221"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.0","versionEndExcluding":"6.1.188"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.0","versionEndExcluding":"6.6.157"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.0","versionEndExcluding":"6.12.110"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.0","versionEndExcluding":"6.18.52"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.0","versionEndExcluding":"7.2.6"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.0","versionEndExcluding":"7.3"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}