net: sock: fix hardened usercopy panic in sock_recv_errqueue
In the Linux kernel, the following vulnerability has been resolved: net: sock: fix hardened usercopy panic in sock_recv_errqueue skbuff_fclone_cache was created without defining a usercopy region, [1] unlike skbuff_head_cache which properly whitelists the cb[] field. [2] This causes a usercopy BUG() when CONFIG_HARDENED_USERCOPY is enabled and the kernel attempts to copy sk_buff.cb data to userspace via sock_recv_errqueue() -> put_cmsg(). The crash occurs when: 1. TCP allocates an skb using alloc_skb_fclone() (from skbuff_fclone_cache) [1] 2. The skb is cloned via skb_clone() using the pre-allocated fclone [3] 3. The cloned skb is queued to sk_error_queue for timestamp reporting 4. Userspace reads the error queue via recvmsg(MSG_ERRQUEUE) 5. sock_recv_errqueue() calls put_cmsg() to copy serr->ee from skb->cb [4] 6. __check_heap_object() fails because skbuff_fclone_cache has no usercopy whitelist [5] When cloned skbs allocated from skbuff_fclone_cache are used in the socket error queue, accessing the sock_exterr_skb structure in skb->cb via put_cmsg() triggers a usercopy hardening violation: [ 5.379589] usercopy: Kernel memory exposure attempt detected from SLUB object 'skbuff_fclone_cache' (offset 296, size 16)! [ 5.382796] kernel BUG at mm/usercopy.c:102! [ 5.383923] Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI [ 5.384903] CPU: 1 UID: 0 PID: 138 Comm: poc_put_cmsg Not tainted 6.12.57 #7 [ 5.384903] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-g
CVE-2026-22977
Primary source · Revision 1
Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.
Security context
Source reference: cve:CVE-2026-22977
Linux
Source reference: /containers/cna/affected/0/product
- Affected versions
- Not stated in this record
- Fixed versions
- Not stated in this record
- Prerequisites
- Not stated in this record
Linux
Source reference: /containers/cna/affected/1/product
- Affected versions
- Not stated in this record
- Fixed versions
- Not stated in this record
- Prerequisites
- Not stated in this record
Structured affected-version data
Original package identities and version rules from this source.
[
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "6d07d1cd300f4c7e16005f881fea388164999cc8",
"lessThan": "88dd6be7ebb3153b662c2cebcb06e032a92857f5",
"versionType": "git"
},
{
"status": "affected",
"version": "6d07d1cd300f4c7e16005f881fea388164999cc8",
"lessThan": "c655d2167bf014d4c61b4faeca59b60ff9b9f6b1",
"versionType": "git"
},
{
"status": "affected",
"version": "6d07d1cd300f4c7e16005f881fea388164999cc8",
"lessThan": "8c6901aa29626e35045130bac09b75f791acca85",
"versionType": "git"
},
{
"status": "affected",
"version": "6d07d1cd300f4c7e16005f881fea388164999cc8",
"lessThan": "582a5e922a9652fcbb7d0165c95d5b20aa37575d",
"versionType": "git"
},
{
"status": "affected",
"version": "6d07d1cd300f4c7e16005f881fea388164999cc8",
"lessThan": "005671c60fcf1dbdb8bddf12a62568fd5e4ec391",
"versionType": "git"
},
{
"status": "affected",
"version": "6d07d1cd300f4c7e16005f881fea388164999cc8",
"lessThan": "e00b169eaac5f7cdbf710c354c8fa76d02009115",
"versionType": "git"
},
{
"status": "affected",
"version": "6d07d1cd300f4c7e16005f881fea388164999cc8",
"lessThan": "2a71a1a8d0ed718b1c7a9ac61f07e5755c47ae20",
"versionType": "git"
}
],
"programFiles": [
"net/core/sock.c"
],
"defaultStatus": "unaffected"
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "4.16"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "4.16",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "5.10.248",
"versionType": "semver",
"lessThanOrEqual": "5.10.*"
},
{
"status": "unaffected",
"version": "5.15.198",
"versionType": "semver",
"lessThanOrEqual": "5.15.*"
},
{
"status": "unaffected",
"version": "6.1.161",
"versionType": "semver",
"lessThanOrEqual": "6.1.*"
},
{
"status": "unaffected",
"version": "6.6.121",
"versionType": "semver",
"lessThanOrEqual": "6.6.*"
},
{
"status": "unaffected",
"version": "6.12.66",
"versionType": "semver",
"lessThanOrEqual": "6.12.*"
},
{
"status": "unaffected",
"version": "6.18.6",
"versionType": "semver",
"lessThanOrEqual": "6.18.*"
},
{
"status": "unaffected",
"version": "6.19",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}
],
"programFiles": [
"net/core/sock.c"
],
"defaultStatus": "affected"
}
]- Related CVEs
- CVE-2026-22977
Source reference:
/cveMetadata/cveId
Publisher severity
No explicit severity was provided.
- Event
- #39718 · Revision 1
- Added to Heist Feed
- Publisher date