{"dataType":"CVE_RECORD","dataVersion":"5.1","cveMetadata":{"cveId":"CVE-2021-47012","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2024-02-27T18:42:55.953Z","datePublished":"2024-02-28T08:13:30.284Z","dateUpdated":"2025-05-04T07:02:17.847Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2025-05-04T07:02:17.847Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nRDMA/siw: Fix a use after free in siw_alloc_mr\n\nOur code analyzer reported a UAF.\n\nIn siw_alloc_mr(), it calls siw_mr_add_mem(mr,..). In the implementation of\nsiw_mr_add_mem(), mem is assigned to mr->mem and then mem is freed via\nkfree(mem) if xa_alloc_cyclic() failed. Here, mr->mem still point to a\nfreed object. After, the execution continue up to the err_out branch of\nsiw_alloc_mr, and the freed mr->mem is used in siw_mr_drop_mem(mr).\n\nMy patch moves \"mr->mem = mem\" behind the if (xa_alloc_cyclic(..)<0) {}\nsection, to avoid the uaf."}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/infiniband/sw/siw/siw_mem.c"],"versions":[{"version":"2251334dcac9eb337575d8767e2a6a7e81848f7f","lessThan":"30b9e92d0b5e5d5dc1101ab856c17009537cbca4","status":"affected","versionType":"git"},{"version":"2251334dcac9eb337575d8767e2a6a7e81848f7f","lessThan":"608a4b90ece039940e9425ee2b39c8beff27e00c","status":"affected","versionType":"git"},{"version":"2251334dcac9eb337575d8767e2a6a7e81848f7f","lessThan":"3e22b88e02c194f6c80867abfef5cc09383461f4","status":"affected","versionType":"git"},{"version":"2251334dcac9eb337575d8767e2a6a7e81848f7f","lessThan":"ad9ce7188432650469a6c7625bf479f5ed0b6155","status":"affected","versionType":"git"},{"version":"2251334dcac9eb337575d8767e2a6a7e81848f7f","lessThan":"3093ee182f01689b89e9f8797b321603e5de4f63","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/sw/siw/siw_mem.c"],"versions":[{"version":"5.3","status":"affected"},{"version":"0","lessThan":"5.3","status":"unaffected","versionType":"semver"},{"version":"5.4.119","lessThanOrEqual":"5.4.*","status":"unaffected","versionType":"semver"},{"version":"5.10.37","lessThanOrEqual":"5.10.*","status":"unaffected","versionType":"semver"},{"version":"5.11.21","lessThanOrEqual":"5.11.*","status":"unaffected","versionType":"semver"},{"version":"5.12.4","lessThanOrEqual":"5.12.*","status":"unaffected","versionType":"semver"},{"version":"5.13","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":"5.3","versionEndExcluding":"5.4.119"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.3","versionEndExcluding":"5.10.37"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.3","versionEndExcluding":"5.11.21"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.3","versionEndExcluding":"5.12.4"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.3","versionEndExcluding":"5.13"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/30b9e92d0b5e5d5dc1101ab856c17009537cbca4"},{"url":"https://git.kernel.org/stable/c/608a4b90ece039940e9425ee2b39c8beff27e00c"},{"url":"https://git.kernel.org/stable/c/3e22b88e02c194f6c80867abfef5cc09383461f4"},{"url":"https://git.kernel.org/stable/c/ad9ce7188432650469a6c7625bf479f5ed0b6155"},{"url":"https://git.kernel.org/stable/c/3093ee182f01689b89e9f8797b321603e5de4f63"}],"title":"RDMA/siw: Fix a use after free in siw_alloc_mr","x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2021-47012","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2024-02-28T20:34:17.324799Z"}}}],"providerMetadata":{"orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP","dateUpdated":"2024-06-04T17:13:27.028Z"}},{"providerMetadata":{"orgId":"af854a3a-2127-422b-91ae-364da2661108","shortName":"CVE","dateUpdated":"2024-08-04T05:24:39.841Z"},"title":"CVE Program Container","references":[{"url":"https://git.kernel.org/stable/c/30b9e92d0b5e5d5dc1101ab856c17009537cbca4","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/608a4b90ece039940e9425ee2b39c8beff27e00c","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/3e22b88e02c194f6c80867abfef5cc09383461f4","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/ad9ce7188432650469a6c7625bf479f5ed0b6155","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/3093ee182f01689b89e9f8797b321603e5de4f63","tags":["x_transferred"]}]}]}}