{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2024-57857","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2025-01-15T13:08:59.681Z","datePublished":"2025-01-15T13:10:28.613Z","dateUpdated":"2026-08-05T11:46:42.275Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-05T11:46:42.275Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nRDMA/siw: Remove direct link to net_device\n\nDo not manage a per device direct link to net_device. Rely\non associated ib_devices net_device management, not doubling\nthe effort locally. A badly managed local link to net_device\nwas causing a 'KASAN: slab-use-after-free' exception during\nsiw_query_port() call."}],"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 - The dangling `sdev->netdev` is only dereferenced from local paths — sysfs port attribute reads, NETLINK_RDMA `PORT_GET`, uverbs `query_port`/`query_qp`, `rdma_listen()`, and the in-kernel ib_cache work triggered by local netdev teardown. No remote peer data or received packet reaches these sites.\nAC:L - The attacker drives both sides of the race — generating port events (netdev up/down/changeaddr) that queue the `ib_cache_event_task`, and tearing down the netdev/netns that frees the `net_device` — and can repeat the sequence indefinitely while spamming `query_port` via sysfs/netlink, so the window is reachable on demand (syzbot reproduced it).\nPR:L - The code that dereferences the freed pointer is reachable with zero privileges (world-readable `/sys/class/infiniband/*/ports/1/state`, unprivileged `RDMA_NLDEV_CMD_PORT_GET`, `ibv_query_port`), and the netdev-teardown side needs only `CAP_NET_ADMIN` within a network namespace, which an unprivileged user obtains via `unshare -Urn`; no real root in the initial namespace is required to reach the vulnerable dereference.\nUI:N - No victim action is needed — the attacker performs the device/netdev teardown and the query itself, or simply races the kernel's own asynchronous cache-update work.\nS:U - The use-after-free is confined to kernel memory within the same security authority; there is no VM, IOMMU, or sandbox boundary crossed.\nC:H - This is a use-after-free read of a freed `struct net_device` slab object whose contents can be groomed by the attacker, and the read values are returned to userspace through `attr->max_mtu`/`active_mtu` and `qp_attr->path_mtu`, giving a controllable read of reclaimed kernel memory.\nI:H - Per use-after-free handling, the dangling pointer is not merely read but its contents feed kernel state — `siw_create_listen()` writes freed memory into `sk->sk_bound_dev_if` — and a UAF on a sprayable slab object is the standard primitive for heap grooming and control-flow corruption.\nA:H - The confirmed outcome is a KASAN slab-use-after-free during `siw_query_port()`; dereferencing a stale `net_device` pointer into reclaimed or unmapped memory oopses/panics the kernel, and the trigger can be repeated at will."}]}],"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.h","drivers/infiniband/sw/siw/siw_cm.c","drivers/infiniband/sw/siw/siw_main.c","drivers/infiniband/sw/siw/siw_verbs.c"],"versions":[{"version":"bdcf26bf9b3acb03c8f90387cfc6474fc8ac5521","lessThan":"4eafeb4f021c50d13f199239d913b37de3c83135","status":"affected","versionType":"git"},{"version":"bdcf26bf9b3acb03c8f90387cfc6474fc8ac5521","lessThan":"16b87037b48889d21854c8e97aec8a1baf2642b3","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.h","drivers/infiniband/sw/siw/siw_cm.c","drivers/infiniband/sw/siw/siw_main.c","drivers/infiniband/sw/siw/siw_verbs.c"],"versions":[{"version":"5.3","status":"affected"},{"version":"0","lessThan":"5.3","status":"unaffected","versionType":"semver"},{"version":"6.12.9","lessThanOrEqual":"6.12.*","status":"unaffected","versionType":"semver"},{"version":"6.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":"6.12.9"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.3","versionEndExcluding":"6.13"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/4eafeb4f021c50d13f199239d913b37de3c83135"},{"url":"https://git.kernel.org/stable/c/16b87037b48889d21854c8e97aec8a1baf2642b3"}],"title":"RDMA/siw: Remove direct link to net_device","x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"metrics":[{"cvssV3_1":{"scope":"UNCHANGED","version":"3.1","baseScore":7.8,"attackVector":"LOCAL","baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","integrityImpact":"HIGH","userInteraction":"NONE","attackComplexity":"LOW","availabilityImpact":"HIGH","privilegesRequired":"LOW","confidentialityImpact":"HIGH"}},{"other":{"type":"ssvc","content":{"id":"CVE-2024-57857","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"version":"2.0.3","timestamp":"2025-02-13T13:56:36.478008Z"}}}],"problemTypes":[{"descriptions":[{"lang":"en","type":"CWE","cweId":"CWE-416","description":"CWE-416 Use After Free"}]}],"title":"CISA ADP Vulnrichment","providerMetadata":{"orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP","dateUpdated":"2025-02-13T14:04:27.319Z"}}]}}