CVE-2025-39950
BaseFortify
Publication date: 2025-10-04
Last updated on: 2025-10-06
Assigner: kernel.org
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| linux | linux_kernel | From 5.15.160 (inc) to 5.16 (inc) |
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 NULL pointer dereference in the Linux kernel's TCP-AO implementation when used with TCP_REPAIR. Specifically, during a connect() system call on a socket that has a TCP-AO key added and TCP_REPAIR enabled, the function tcp_ao_finish_connect() attempts to dereference a NULL skb pointer without checking if it is NULL first. This causes a kernel crash (NULL pointer dereference). The issue arises because skb is not validated before being dereferenced, unlike in a similar function bpf_skops_established() which performs this validation.
How can this vulnerability impact me? :
This vulnerability can cause a kernel crash due to a NULL pointer dereference when using TCP-AO with TCP_REPAIR enabled. This can lead to denial of service (DoS) on the affected system, potentially causing system instability or downtime.
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability can be detected by attempting to reproduce the NULL pointer dereference condition using a test program that creates a socket, adds a TCP-AO key, enables TCP_REPAIR, and then performs a connect() call. The provided example code demonstrates this approach. Running this test on a vulnerable kernel will cause a kernel NULL pointer dereference and an Oops message in the kernel logs. Monitoring kernel logs (e.g., using dmesg) for such Oops messages related to tcp_ao_finish_connect can also help detect the issue.
What immediate steps should I take to mitigate this vulnerability?
Immediate mitigation steps include avoiding the use of TCP-AO keys in combination with TCP_REPAIR on affected Linux kernel versions until a patch is applied. Updating the Linux kernel to a version where the fix is implemented, which includes a NULL check for skb before dereferencing it in tcp_ao_finish_connect(), is the recommended permanent solution.