CVE-2023-53836
BaseFortify
Publication date: 2025-12-09
Last updated on: 2025-12-09
Assigner: kernel.org
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| linux | linux_kernel | * |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-UNKNOWN |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
This vulnerability is a race condition in the Linux kernel's BPF sockmap implementation. It occurs because a socket buffer (skb) can be referenced after the userspace side has already consumed and freed it, leading to a use-after-free scenario. Specifically, the issue arises when the backlog queue still holds a reference to the skb and attempts to dequeue it after userspace has freed it, causing a potential crash or memory corruption. The fix involves increasing the reference count of the skb before enqueueing it to ensure it is not freed prematurely, preventing the race condition.
How can this vulnerability impact me? :
This vulnerability can lead to use-after-free conditions in the Linux kernel, which may cause system crashes (general protection faults) or potentially allow attackers to execute arbitrary code or cause denial of service by exploiting the race condition in skb handling.
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability can be detected by observing kernel logs for general protection faults related to skb_dequeue and sk_psock_backlog, such as those seen with the test_progs -t sockmap_listen command. Monitoring dmesg or kernel logs for messages indicating a general protection fault in skb_dequeue or related stack traces can help identify the issue.
What immediate steps should I take to mitigate this vulnerability?
Immediate mitigation involves updating the Linux kernel to a version where the skb reference count race condition has been fixed by adding skb_get() before enqueueing the skb in the ingress queue and properly managing the reference count with kfree_skb(). This prevents use-after-free by ensuring the skb is not freed prematurely. Until an update is applied, avoid using affected features like sockmap with ingress skb handling that triggers this race.