net: Fix TOCTOU issue in sk_is_readable()
In the Linux kernel, the following vulnerability has been resolved: net: Fix TOCTOU issue in sk_is_readable() sk->sk_prot->sock_is_readable is a valid function pointer when sk resides in a sockmap. After the last sk_psock_put() (which usually happens when socket is removed from sockmap), sk->sk_prot gets restored and sk->sk_prot->sock_is_readable becomes NULL. This makes sk_is_readable() racy, if the value of sk->sk_prot is reloaded after the initial check. Which in turn may lead to a null pointer dereference. Ensure the function pointer does not turn NULL after the check.
- Products
- Kernel
- Affected versions
- Not specified
- Fixed versions
- 5.10.239, 5.15.186, 6.1.142, 6.12.34, 6.15.3, 6.6.94
- CVEs
- CVE-2025-38112
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 08:05 UTC · Revision 1
Source evidence
In the Linux kernel, the following vulnerability has been resolved: net: Fix TOCTOU issue in sk_is_readable() sk->sk_prot->sock_is_readable is a valid function pointer when sk resides in a sockmap. After the last sk_psock_put() (which usually happens when socket is removed from sockmap), sk->sk_prot gets restored and sk->sk_prot->sock_is_readable becomes NULL. This makes sk_is_readable() racy, if the value of sk->sk_prot is reloaded after the initial check. Which in turn may lead to a null pointer dereference. Ensure the function pointer does not turn NULL after the check.
osv:CVE-2025-38112
Kernel
Fixed versions: 5.10.239, 5.15.186, 6.1.142, 6.6.94, 6.12.34, 6.15.3
Complete source record
{
"id": "eb26a6aef024d5e4e6614bf89cdca81ce56c9e1792a0f0763d33d56e3343f493",
"url": "https://osv.dev/vulnerability/CVE-2025-38112",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "net: Fix TOCTOU issue in sk_is_readable()",
"summary": "In the Linux kernel, the following vulnerability has been resolved: net: Fix TOCTOU issue in sk_is_readable() sk->sk_prot->sock_is_readable is a valid function pointer when sk resides in a sockmap. After the last sk_psock_put() (which usually happens when socket is removed from sockmap), sk->sk_prot gets restored and sk->sk_prot->sock_is_readable becomes NULL. This makes sk_is_readable() racy, if the value of sk->sk_prot is reloaded after the initial check. Which in turn may lead to a null pointer dereference. Ensure the function pointer does not turn NULL after the check.",
"evidence": "osv:CVE-2025-38112",
"products": [
{
"name": {
"value": "Kernel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "5.10.239",
"evidence": "/affected/1/ranges"
},
{
"value": "5.15.186",
"evidence": "/affected/1/ranges"
},
{
"value": "6.1.142",
"evidence": "/affected/1/ranges"
},
{
"value": "6.6.94",
"evidence": "/affected/1/ranges"
},
{
"value": "6.12.34",
"evidence": "/affected/1/ranges"
},
{
"value": "6.15.3",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
}
],
"severity": "unknown",
"structured": {
"id": "CVE-2025-38112",
"aliases": [
"CVE-2025-38112"
],
"affected": [
{
"ranges": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "8934ce2fd08171e8605f7fada91ee7619fe17ab8"
},
{
"fixed": "c2b26638476baee154920bb587fc94ff1bf04336"
},
{
"fixed": "6fa68d7eab34d448a61aa24ea31e68b3231ed20d"
},
{
"fixed": "8926a7ef1977a832dd6bf702f1a99303dbf15b15"
},
{
"fixed": "ff55c85a923e043d59d26b20a673a1b4a219c310"
},
{
"fixed": "1e0de7582ceccbdbb227d4e0ddf65732f92526da"
},
{
"fixed": "1b367ba2f94251822577daed031d6b9a9e11ba91"
},
{
"fixed": "2660a544fdc0940bba15f70508a46cf9a6491230"
}
]
}
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-38112.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "4.17.0"
},
{
"fixed": "5.10.239"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.11.0"
},
{
"fixed": "5.15.186"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.16.0"
},
{
"fixed": "6.1.142"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.2.0"
},
{
"fixed": "6.6.94"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.7.0"
},
{
"fixed": "6.12.34"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.13.0"
},
{
"fixed": "6.15.3"
}
]
}
],
"package": {
"name": "Kernel",
"ecosystem": "Linux"
},
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-38112.json"
}
}
],
"modified": "2026-10-28T02:30:27.322425785Z",
"provider": "osv",
"references": [
"https://git.kernel.org/stable/c/1b367ba2f94251822577daed031d6b9a9e11ba91",
"https://git.kernel.org/stable/c/1e0de7582ceccbdbb227d4e0ddf65732f92526da",
"https://git.kernel.org/stable/c/2660a544fdc0940bba15f70508a46cf9a6491230",
"https://git.kernel.org/stable/c/6fa68d7eab34d448a61aa24ea31e68b3231ed20d",
"https://git.kernel.org/stable/c/8926a7ef1977a832dd6bf702f1a99303dbf15b15",
"https://git.kernel.org/stable/c/c2b26638476baee154920bb587fc94ff1bf04336",
"https://git.kernel.org/stable/c/ff55c85a923e043d59d26b20a673a1b4a219c310",
"https://lists.debian.org/debian-lts-announce/2025/10/msg00007.html",
"https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/38xxx/CVE-2025-38112.json",
"https://nvd.nist.gov/vuln/detail/CVE-2025-38112",
"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
],
"provider_metadata": {
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/38xxx/CVE-2025-38112.json"
}
},
"related_cves": [
{
"value": "CVE-2025-38112",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 493617,
"published_at": "2025-07-03T08:35:21.276+00:00"
}