{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-74397","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2026-08-15T05:44:03.891Z","datePublished":"2026-08-15T05:59:09.329Z","dateUpdated":"2026-08-17T05:46:42.049Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-17T05:46:42.049Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nIB/mlx5: Fix transport-domain rollback and initialize lb mutex earlier\n\nmlx5_ib_alloc_transport_domain() allocates a transport domain and then\nmay fail in mlx5_ib_enable_lb(). In that case, the allocated TD is leaked.\n\nFix this by deallocating the TD when mlx5_ib_enable_lb() returns an\nerror. Also return 0 explicitly in the no-loopback-capability success\nbranch, and move dev->lb.mutex initialization to mlx5_ib_stage_init_init()."}],"metrics":[{"cvssV3_1":{"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"},"scenarios":[{"lang":"en","value":"AV:L - Reachable only via local ibverbs syscalls (ioctl/write) on /dev/infiniband/uverbsX through mlx5_ib_alloc_ucontext() and mlx5_ib_create_qp(); not via remote RoCE/IB packet handling.\nAC:L - An attacker can reliably open uverbs and create raw-packet QPs with self-loopback flags to invoke mlx5_ib_enable_lb(); TD leaks are repeatable by looping alloc_ucontext and can force enable_lb failure via memory pressure or firmware errors.\nPR:L - Kernel creates uverbs device nodes as world-accessible (0666); alloc_ucontext and create_qp require no real root/CAP_SYS_ADMIN, only local access to the mlx5 RDMA character device on hosts with the hardware.\nUI:N - Exploitation needs only attacker-driven ibverbs calls; no victim interaction such as mounting filesystems, clicking links, or opening files is required.\nS:U - Impact stays within the host kernel mlx5 RDMA driver scope; this is not a VM escape, IOMMU/DMA boundary bypass, or other cross-security-authority compromise per kernel CVSS guidance.\nC:H - Locking an uninitialized dev->lb.mutex in mlx5_ib_enable_lb()/disable_lb is undefined behavior that can corrupt kernel memory and be leveraged for arbitrary kernel memory disclosure.\nI:H - Uninitialized mutex use during ucontext transport-domain setup or raw-packet QP creation can corrupt adjacent kernel structures and enable arbitrary write or control-flow hijack primitives.\nA:H - Invalid mutex operations can kernel panic/oops; repeated alloc_ucontext without TD rollback on mlx5_ib_enable_lb() failure exhausts transport domains and denies further RDMA context/QP creation (DoS)."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/infiniband/hw/mlx5/main.c"],"versions":[{"version":"146d2f1af3245a10b13eef263687e54f4e253d1d","lessThan":"2c3b2667dad69d56774b79db763acb3a1bee0fc0","status":"affected","versionType":"git"},{"version":"146d2f1af3245a10b13eef263687e54f4e253d1d","lessThan":"37fc3cc0f924fd8d0f0cf87b92672dec75a32e57","status":"affected","versionType":"git"},{"version":"146d2f1af3245a10b13eef263687e54f4e253d1d","lessThan":"65e344925fa30abf50c8de8c150b397715fa2066","status":"affected","versionType":"git"},{"version":"146d2f1af3245a10b13eef263687e54f4e253d1d","lessThan":"f88e12c95fc19f719e06ca1e9eb20fdad68ef61a","status":"affected","versionType":"git"},{"version":"146d2f1af3245a10b13eef263687e54f4e253d1d","lessThan":"e79389115b9d27287ff6230a9750675106ed7668","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/infiniband/hw/mlx5/main.c"],"versions":[{"version":"4.5","status":"affected"},{"version":"0","lessThan":"4.5","status":"unaffected","versionType":"semver"},{"version":"6.6.145","lessThanOrEqual":"6.6.*","status":"unaffected","versionType":"semver"},{"version":"6.12.97","lessThanOrEqual":"6.12.*","status":"unaffected","versionType":"semver"},{"version":"6.18.40","lessThanOrEqual":"6.18.*","status":"unaffected","versionType":"semver"},{"version":"7.1.5","lessThanOrEqual":"7.1.*","status":"unaffected","versionType":"semver"},{"version":"7.2","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.5","versionEndExcluding":"6.6.145"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.5","versionEndExcluding":"6.12.97"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.5","versionEndExcluding":"6.18.40"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.5","versionEndExcluding":"7.1.5"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.5","versionEndExcluding":"7.2"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/2c3b2667dad69d56774b79db763acb3a1bee0fc0"},{"url":"https://git.kernel.org/stable/c/37fc3cc0f924fd8d0f0cf87b92672dec75a32e57"},{"url":"https://git.kernel.org/stable/c/65e344925fa30abf50c8de8c150b397715fa2066"},{"url":"https://git.kernel.org/stable/c/f88e12c95fc19f719e06ca1e9eb20fdad68ef61a"},{"url":"https://git.kernel.org/stable/c/e79389115b9d27287ff6230a9750675106ed7668"}],"title":"IB/mlx5: Fix transport-domain rollback and initialize lb mutex earlier","x_generator":{"engine":"bippy-1.2.0"}}}}