CVE-2024-26676 (GCVE-0-2024-26676)
Vulnerability from cvelistv5 – Published: 2024-04-02 07:01 – Updated: 2026-05-23 15:36
VLAI
EPSS
VEX
Title
af_unix: Call kfree_skb() for dead unix_(sk)->oob_skb in GC.
Summary
In the Linux kernel, the following vulnerability has been resolved:
af_unix: Call kfree_skb() for dead unix_(sk)->oob_skb in GC.
syzbot reported a warning [0] in __unix_gc() with a repro, which
creates a socketpair and sends one socket's fd to itself using the
peer.
socketpair(AF_UNIX, SOCK_STREAM, 0, [3, 4]) = 0
sendmsg(4, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\360", iov_len=1}],
msg_iovlen=1, msg_control=[{cmsg_len=20, cmsg_level=SOL_SOCKET,
cmsg_type=SCM_RIGHTS, cmsg_data=[3]}],
msg_controllen=24, msg_flags=0}, MSG_OOB|MSG_PROBE|MSG_DONTWAIT|MSG_ZEROCOPY) = 1
This forms a self-cyclic reference that GC should finally untangle
but does not due to lack of MSG_OOB handling, resulting in memory
leak.
Recently, commit 11498715f266 ("af_unix: Remove io_uring code for
GC.") removed io_uring's dead code in GC and revealed the problem.
The code was executed at the final stage of GC and unconditionally
moved all GC candidates from gc_candidates to gc_inflight_list.
That papered over the reported problem by always making the following
WARN_ON_ONCE(!list_empty(&gc_candidates)) false.
The problem has been there since commit 2aab4b969002 ("af_unix: fix
struct pid leaks in OOB support") added full scm support for MSG_OOB
while fixing another bug.
To fix this problem, we must call kfree_skb() for unix_sk(sk)->oob_skb
if the socket still exists in gc_candidates after purging collected skb.
Then, we need to set NULL to oob_skb before calling kfree_skb() because
it calls last fput() and triggers unix_release_sock(), where we call
duplicate kfree_skb(u->oob_skb) if not NULL.
Note that the leaked socket remained being linked to a global list, so
kmemleak also could not detect it. We need to check /proc/net/protocol
to notice the unfreed socket.
[0]:
WARNING: CPU: 0 PID: 2863 at net/unix/garbage.c:345 __unix_gc+0xc74/0xe80 net/unix/garbage.c:345
Modules linked in:
CPU: 0 PID: 2863 Comm: kworker/u4:11 Not tainted 6.8.0-rc1-syzkaller-00583-g1701940b1a02 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/25/2024
Workqueue: events_unbound __unix_gc
RIP: 0010:__unix_gc+0xc74/0xe80 net/unix/garbage.c:345
Code: 8b 5c 24 50 e9 86 f8 ff ff e8 f8 e4 22 f8 31 d2 48 c7 c6 30 6a 69 89 4c 89 ef e8 97 ef ff ff e9 80 f9 ff ff e8 dd e4 22 f8 90 <0f> 0b 90 e9 7b fd ff ff 48 89 df e8 5c e7 7c f8 e9 d3 f8 ff ff e8
RSP: 0018:ffffc9000b03fba0 EFLAGS: 00010293
RAX: 0000000000000000 RBX: ffffc9000b03fc10 RCX: ffffffff816c493e
RDX: ffff88802c02d940 RSI: ffffffff896982f3 RDI: ffffc9000b03fb30
RBP: ffffc9000b03fce0 R08: 0000000000000001 R09: fffff52001607f66
R10: 0000000000000003 R11: 0000000000000002 R12: dffffc0000000000
R13: ffffc9000b03fc10 R14: ffffc9000b03fc10 R15: 0000000000000001
FS: 0000000000000000(0000) GS:ffff8880b9400000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00005559c8677a60 CR3: 000000000d57a000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<TASK>
process_one_work+0x889/0x15e0 kernel/workqueue.c:2633
process_scheduled_works kernel/workqueue.c:2706 [inline]
worker_thread+0x8b9/0x12a0 kernel/workqueue.c:2787
kthread+0x2c6/0x3b0 kernel/kthread.c:388
ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:147
ret_from_fork_asm+0x1b/0x30 arch/x86/entry/entry_64.S:242
</TASK>
Severity
5.5 (Medium)
SSVC
Exploitation: none
Automatable: no
Technical Impact: partial
CISA Coordinator (v2.0.3)
CWE
- CWE-401 - Missing Release of Memory after Effective Lifetime
Assigner
References
Impacted products
2 products
| Vendor | Product | Version | |
|---|---|---|---|
| Linux | Linux |
Affected:
f3969427fb06a2c3cd6efd7faab63505cfa76e76 , < 4fe505c63aa3273135a57597fda761e9aecc7668
(git)
Affected: ac1968ac399205fda9ee3b18f7de7416cb3a5d0d , < e0e09186d8821ad59806115d347ea32efa43ca4b (git) Affected: 2aab4b96900272885bc157f8b236abf1cdc02e08 , < b74aa9ce13d02b7fd37c5325b99854f91b9b4276 (git) Affected: 2aab4b96900272885bc157f8b236abf1cdc02e08 , < 82ae47c5c3a6b27fdc0f9e83c1499cb439c56140 (git) Affected: 2aab4b96900272885bc157f8b236abf1cdc02e08 , < 1279f9d9dec2d7462823a18c29ad61359e0a007d (git) Affected: a59d6306263c38e5c0592ea4451ca26a0778c947 (git) Affected: 5.15.103 , < 5.15.149 (semver) Affected: 6.1.20 , < 6.1.78 (semver) Affected: 6.2.7 , < 6.3 (semver) |
|
| Linux | Linux |
Affected:
6.3
Unaffected: 0 , < 6.3 (semver) Unaffected: 5.15.149 , ≤ 5.15.* (semver) Unaffected: 6.1.78 , ≤ 6.1.* (semver) Unaffected: 6.6.17 , ≤ 6.6.* (semver) Unaffected: 6.7.5 , ≤ 6.7.* (semver) Unaffected: 6.8 , ≤ * (original_commit_for_fix) |
{
"containers": {
"adp": [
{
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "LOCAL",
"availabilityImpact": "HIGH",
"baseScore": 5.5,
"baseSeverity": "MEDIUM",
"confidentialityImpact": "NONE",
"integrityImpact": "NONE",
"privilegesRequired": "LOW",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
"version": "3.1"
}
},
{
"other": {
"content": {
"id": "CVE-2024-26676",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2025-05-07T20:00:56.944715Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-401",
"description": "CWE-401 Missing Release of Memory after Effective Lifetime",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2025-05-07T20:01:37.103Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
},
{
"providerMetadata": {
"dateUpdated": "2024-08-02T00:14:12.513Z",
"orgId": "af854a3a-2127-422b-91ae-364da2661108",
"shortName": "CVE"
},
"references": [
{
"tags": [
"x_transferred"
],
"url": "https://git.kernel.org/stable/c/4fe505c63aa3273135a57597fda761e9aecc7668"
},
{
"tags": [
"x_transferred"
],
"url": "https://git.kernel.org/stable/c/e0e09186d8821ad59806115d347ea32efa43ca4b"
},
{
"tags": [
"x_transferred"
],
"url": "https://git.kernel.org/stable/c/b74aa9ce13d02b7fd37c5325b99854f91b9b4276"
},
{
"tags": [
"x_transferred"
],
"url": "https://git.kernel.org/stable/c/82ae47c5c3a6b27fdc0f9e83c1499cb439c56140"
},
{
"tags": [
"x_transferred"
],
"url": "https://git.kernel.org/stable/c/1279f9d9dec2d7462823a18c29ad61359e0a007d"
}
],
"title": "CVE Program Container"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"net/unix/garbage.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "4fe505c63aa3273135a57597fda761e9aecc7668",
"status": "affected",
"version": "f3969427fb06a2c3cd6efd7faab63505cfa76e76",
"versionType": "git"
},
{
"lessThan": "e0e09186d8821ad59806115d347ea32efa43ca4b",
"status": "affected",
"version": "ac1968ac399205fda9ee3b18f7de7416cb3a5d0d",
"versionType": "git"
},
{
"lessThan": "b74aa9ce13d02b7fd37c5325b99854f91b9b4276",
"status": "affected",
"version": "2aab4b96900272885bc157f8b236abf1cdc02e08",
"versionType": "git"
},
{
"lessThan": "82ae47c5c3a6b27fdc0f9e83c1499cb439c56140",
"status": "affected",
"version": "2aab4b96900272885bc157f8b236abf1cdc02e08",
"versionType": "git"
},
{
"lessThan": "1279f9d9dec2d7462823a18c29ad61359e0a007d",
"status": "affected",
"version": "2aab4b96900272885bc157f8b236abf1cdc02e08",
"versionType": "git"
},
{
"status": "affected",
"version": "a59d6306263c38e5c0592ea4451ca26a0778c947",
"versionType": "git"
},
{
"lessThan": "5.15.149",
"status": "affected",
"version": "5.15.103",
"versionType": "semver"
},
{
"lessThan": "6.1.78",
"status": "affected",
"version": "6.1.20",
"versionType": "semver"
},
{
"lessThan": "6.3",
"status": "affected",
"version": "6.2.7",
"versionType": "semver"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"net/unix/garbage.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "6.3"
},
{
"lessThan": "6.3",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"version": "5.15.149",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"version": "6.1.78",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"version": "6.6.17",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.7.*",
"status": "unaffected",
"version": "6.7.5",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "6.8",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.15.149",
"versionStartIncluding": "5.15.103",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.1.78",
"versionStartIncluding": "6.1.20",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.6.17",
"versionStartIncluding": "6.3",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.7.5",
"versionStartIncluding": "6.3",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.8",
"versionStartIncluding": "6.3",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "6.2.7",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\naf_unix: Call kfree_skb() for dead unix_(sk)-\u003eoob_skb in GC.\n\nsyzbot reported a warning [0] in __unix_gc() with a repro, which\ncreates a socketpair and sends one socket\u0027s fd to itself using the\npeer.\n\n socketpair(AF_UNIX, SOCK_STREAM, 0, [3, 4]) = 0\n sendmsg(4, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base=\"\\360\", iov_len=1}],\n msg_iovlen=1, msg_control=[{cmsg_len=20, cmsg_level=SOL_SOCKET,\n cmsg_type=SCM_RIGHTS, cmsg_data=[3]}],\n msg_controllen=24, msg_flags=0}, MSG_OOB|MSG_PROBE|MSG_DONTWAIT|MSG_ZEROCOPY) = 1\n\nThis forms a self-cyclic reference that GC should finally untangle\nbut does not due to lack of MSG_OOB handling, resulting in memory\nleak.\n\nRecently, commit 11498715f266 (\"af_unix: Remove io_uring code for\nGC.\") removed io_uring\u0027s dead code in GC and revealed the problem.\n\nThe code was executed at the final stage of GC and unconditionally\nmoved all GC candidates from gc_candidates to gc_inflight_list.\nThat papered over the reported problem by always making the following\nWARN_ON_ONCE(!list_empty(\u0026gc_candidates)) false.\n\nThe problem has been there since commit 2aab4b969002 (\"af_unix: fix\nstruct pid leaks in OOB support\") added full scm support for MSG_OOB\nwhile fixing another bug.\n\nTo fix this problem, we must call kfree_skb() for unix_sk(sk)-\u003eoob_skb\nif the socket still exists in gc_candidates after purging collected skb.\n\nThen, we need to set NULL to oob_skb before calling kfree_skb() because\nit calls last fput() and triggers unix_release_sock(), where we call\nduplicate kfree_skb(u-\u003eoob_skb) if not NULL.\n\nNote that the leaked socket remained being linked to a global list, so\nkmemleak also could not detect it. We need to check /proc/net/protocol\nto notice the unfreed socket.\n\n[0]:\nWARNING: CPU: 0 PID: 2863 at net/unix/garbage.c:345 __unix_gc+0xc74/0xe80 net/unix/garbage.c:345\nModules linked in:\nCPU: 0 PID: 2863 Comm: kworker/u4:11 Not tainted 6.8.0-rc1-syzkaller-00583-g1701940b1a02 #0\nHardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/25/2024\nWorkqueue: events_unbound __unix_gc\nRIP: 0010:__unix_gc+0xc74/0xe80 net/unix/garbage.c:345\nCode: 8b 5c 24 50 e9 86 f8 ff ff e8 f8 e4 22 f8 31 d2 48 c7 c6 30 6a 69 89 4c 89 ef e8 97 ef ff ff e9 80 f9 ff ff e8 dd e4 22 f8 90 \u003c0f\u003e 0b 90 e9 7b fd ff ff 48 89 df e8 5c e7 7c f8 e9 d3 f8 ff ff e8\nRSP: 0018:ffffc9000b03fba0 EFLAGS: 00010293\nRAX: 0000000000000000 RBX: ffffc9000b03fc10 RCX: ffffffff816c493e\nRDX: ffff88802c02d940 RSI: ffffffff896982f3 RDI: ffffc9000b03fb30\nRBP: ffffc9000b03fce0 R08: 0000000000000001 R09: fffff52001607f66\nR10: 0000000000000003 R11: 0000000000000002 R12: dffffc0000000000\nR13: ffffc9000b03fc10 R14: ffffc9000b03fc10 R15: 0000000000000001\nFS: 0000000000000000(0000) GS:ffff8880b9400000(0000) knlGS:0000000000000000\nCS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033\nCR2: 00005559c8677a60 CR3: 000000000d57a000 CR4: 00000000003506f0\nDR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\nDR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400\nCall Trace:\n \u003cTASK\u003e\n process_one_work+0x889/0x15e0 kernel/workqueue.c:2633\n process_scheduled_works kernel/workqueue.c:2706 [inline]\n worker_thread+0x8b9/0x12a0 kernel/workqueue.c:2787\n kthread+0x2c6/0x3b0 kernel/kthread.c:388\n ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:147\n ret_from_fork_asm+0x1b/0x30 arch/x86/entry/entry_64.S:242\n \u003c/TASK\u003e"
}
],
"providerMetadata": {
"dateUpdated": "2026-05-23T15:36:37.870Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/4fe505c63aa3273135a57597fda761e9aecc7668"
},
{
"url": "https://git.kernel.org/stable/c/e0e09186d8821ad59806115d347ea32efa43ca4b"
},
{
"url": "https://git.kernel.org/stable/c/b74aa9ce13d02b7fd37c5325b99854f91b9b4276"
},
{
"url": "https://git.kernel.org/stable/c/82ae47c5c3a6b27fdc0f9e83c1499cb439c56140"
},
{
"url": "https://git.kernel.org/stable/c/1279f9d9dec2d7462823a18c29ad61359e0a007d"
}
],
"title": "af_unix: Call kfree_skb() for dead unix_(sk)-\u003eoob_skb in GC.",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2024-26676",
"datePublished": "2024-04-02T07:01:40.758Z",
"dateReserved": "2024-02-19T14:20:24.151Z",
"dateUpdated": "2026-05-23T15:36:37.870Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"epss": {
"cve": "CVE-2024-26676",
"date": "2026-07-19",
"epss": "0.00229",
"percentile": "0.13629"
},
"nvd": "{\"cve\":{\"id\":\"CVE-2024-26676\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2024-04-02T07:15:44.170\",\"lastModified\":\"2026-06-17T07:18:04.210\",\"vulnStatus\":\"Undergoing Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\naf_unix: Call kfree_skb() for dead unix_(sk)-\u003eoob_skb in GC.\\n\\nsyzbot reported a warning [0] in __unix_gc() with a repro, which\\ncreates a socketpair and sends one socket\u0027s fd to itself using the\\npeer.\\n\\n socketpair(AF_UNIX, SOCK_STREAM, 0, [3, 4]) = 0\\n sendmsg(4, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base=\\\"\\\\360\\\", iov_len=1}],\\n msg_iovlen=1, msg_control=[{cmsg_len=20, cmsg_level=SOL_SOCKET,\\n cmsg_type=SCM_RIGHTS, cmsg_data=[3]}],\\n msg_controllen=24, msg_flags=0}, MSG_OOB|MSG_PROBE|MSG_DONTWAIT|MSG_ZEROCOPY) = 1\\n\\nThis forms a self-cyclic reference that GC should finally untangle\\nbut does not due to lack of MSG_OOB handling, resulting in memory\\nleak.\\n\\nRecently, commit 11498715f266 (\\\"af_unix: Remove io_uring code for\\nGC.\\\") removed io_uring\u0027s dead code in GC and revealed the problem.\\n\\nThe code was executed at the final stage of GC and unconditionally\\nmoved all GC candidates from gc_candidates to gc_inflight_list.\\nThat papered over the reported problem by always making the following\\nWARN_ON_ONCE(!list_empty(\u0026gc_candidates)) false.\\n\\nThe problem has been there since commit 2aab4b969002 (\\\"af_unix: fix\\nstruct pid leaks in OOB support\\\") added full scm support for MSG_OOB\\nwhile fixing another bug.\\n\\nTo fix this problem, we must call kfree_skb() for unix_sk(sk)-\u003eoob_skb\\nif the socket still exists in gc_candidates after purging collected skb.\\n\\nThen, we need to set NULL to oob_skb before calling kfree_skb() because\\nit calls last fput() and triggers unix_release_sock(), where we call\\nduplicate kfree_skb(u-\u003eoob_skb) if not NULL.\\n\\nNote that the leaked socket remained being linked to a global list, so\\nkmemleak also could not detect it. We need to check /proc/net/protocol\\nto notice the unfreed socket.\\n\\n[0]:\\nWARNING: CPU: 0 PID: 2863 at net/unix/garbage.c:345 __unix_gc+0xc74/0xe80 net/unix/garbage.c:345\\nModules linked in:\\nCPU: 0 PID: 2863 Comm: kworker/u4:11 Not tainted 6.8.0-rc1-syzkaller-00583-g1701940b1a02 #0\\nHardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/25/2024\\nWorkqueue: events_unbound __unix_gc\\nRIP: 0010:__unix_gc+0xc74/0xe80 net/unix/garbage.c:345\\nCode: 8b 5c 24 50 e9 86 f8 ff ff e8 f8 e4 22 f8 31 d2 48 c7 c6 30 6a 69 89 4c 89 ef e8 97 ef ff ff e9 80 f9 ff ff e8 dd e4 22 f8 90 \u003c0f\u003e 0b 90 e9 7b fd ff ff 48 89 df e8 5c e7 7c f8 e9 d3 f8 ff ff e8\\nRSP: 0018:ffffc9000b03fba0 EFLAGS: 00010293\\nRAX: 0000000000000000 RBX: ffffc9000b03fc10 RCX: ffffffff816c493e\\nRDX: ffff88802c02d940 RSI: ffffffff896982f3 RDI: ffffc9000b03fb30\\nRBP: ffffc9000b03fce0 R08: 0000000000000001 R09: fffff52001607f66\\nR10: 0000000000000003 R11: 0000000000000002 R12: dffffc0000000000\\nR13: ffffc9000b03fc10 R14: ffffc9000b03fc10 R15: 0000000000000001\\nFS: 0000000000000000(0000) GS:ffff8880b9400000(0000) knlGS:0000000000000000\\nCS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033\\nCR2: 00005559c8677a60 CR3: 000000000d57a000 CR4: 00000000003506f0\\nDR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\\nDR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400\\nCall Trace:\\n \u003cTASK\u003e\\n process_one_work+0x889/0x15e0 kernel/workqueue.c:2633\\n process_scheduled_works kernel/workqueue.c:2706 [inline]\\n worker_thread+0x8b9/0x12a0 kernel/workqueue.c:2787\\n kthread+0x2c6/0x3b0 kernel/kthread.c:388\\n ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:147\\n ret_from_fork_asm+0x1b/0x30 arch/x86/entry/entry_64.S:242\\n \u003c/TASK\u003e\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: af_unix: Llame a kfree_skb() para unix_(sk)-\u0026gt;oob_skb muerto en GC. syzbot inform\u00f3 una advertencia [0] en __unix_gc() con una reproducci\u00f3n, que crea un par de sockets y se env\u00eda el fd de un socket a s\u00ed mismo utilizando el par. socketpair(AF_UNIX, SOCK_STREAM, 0, [3, 4]) = 0 sendmsg(4, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base=\\\"\\\\360\\\", iov_len=1}], msg_iovlen=1, msg_control=[{cmsg_len=20, cmsg_level=SOL_SOCKET, cmsg_type=SCM_RIGHTS, cmsg_data=[3]}], msg_controllen=24, msg_flags=0}, MSG_OOB|MSG_PROBE|MSG_DONTWAIT|MSG_ZEROCOPY) = 1 Esto forma una referencia autoc\u00edclica ese GC finalmente deber\u00eda desenredarse, pero no lo hace debido a la falta de manejo de MSG_OOB, lo que resulta en una p\u00e9rdida de memoria. Recientemente, el commit 11498715f266 (\\\"af_unix: Eliminar el c\u00f3digo io_uring para GC.\\\") elimin\u00f3 el c\u00f3digo inactivo de io_uring en GC y revel\u00f3 el problema. El c\u00f3digo se ejecut\u00f3 en la etapa final de GC y movi\u00f3 incondicionalmente todos los candidatos de GC de gc_candidates a gc_inflight_list. Eso ocult\u00f3 el problema informado haciendo siempre que lo siguiente WARN_ON_ONCE(!list_empty(\u0026amp;gc_candidates)) fuera falso. El problema ha estado ah\u00ed desde que el commit 2aab4b969002 (\\\"af_unix: corrige fugas de struct pid en soporte OOB\\\") agreg\u00f3 soporte completo de scm para MSG_OOB mientras solucionaba otro error. Para solucionar este problema, debemos llamar a kfree_skb() para unix_sk(sk)-\u0026gt;oob_skb si el socket todav\u00eda existe en gc_candidates despu\u00e9s de purgar el skb recopilado. Luego, necesitamos establecer NULL en oob_skb antes de llamar a kfree_skb() porque llama al \u00faltimo fput() y activa unix_release_sock(), donde llamamos al duplicado kfree_skb(u-\u0026gt;oob_skb) si no es NULL. Tenga en cuenta que el socket filtrado segu\u00eda vinculado a una lista global, por lo que kmemleak tampoco pudo detectarlo. Necesitamos verificar /proc/net/protocol para notar el socket no liberado. [0]: ADVERTENCIA: CPU: 0 PID: 2863 en net/unix/garbage.c:345 __unix_gc+0xc74/0xe80 net/unix/garbage.c:345 M\u00f3dulos vinculados en: CPU: 0 PID: 2863 Comm: kworker/ u4:11 No contaminado 6.8.0-rc1-syzkaller-00583-g1701940b1a02 #0 Nombre del hardware: Google Google Compute Engine/Google Compute Engine, BIOS Google 25/01/2024 Cola de trabajo: events_unbound __unix_gc RIP: 0010:__unix_gc+0xc74/0xe80 net/unix/garbage.c:345 C\u00f3digo: 8b 5c 24 50 e9 86 f8 ff ff e8 f8 e4 22 f8 31 d2 48 c7 c6 30 6a 69 89 4c 89 ef e8 97 ef ff ff e9 80 f9 ff ff e8 dd e4 22 f8 90 \u0026lt;0f\u0026gt; 0b 90 e9 7b fd ff ff 48 89 df e8 5c e7 7c f8 e9 d3 f8 ff ff e8 RSP: 0018:ffffc9000b03fba0 EFLAGS: 00010293 RAX: 0000000000000000 RBX: ffff c9000b03fc10 RCX: ffffffff816c493e RDX: ffff88802c02d940 RSI: ffffffff896982f3 RDI: ffffc9000b03fb30 RBP: ffffc9000b03fce0 R08: 0000000000000001 R09: fffff52001607f66 R10: 00000000000000003 R11: 00000000000000002 R12: dffffc 0000000000 R13: ffffc9000b03fc10 R14: ffffc9000b03fc10 R15: 0000000000000001 FS: 0000000000000000(0000) GS:ffff8880b9400000(0000) knlGS:000 0000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00005559c8677a60 CR3: 000000000d57a000 CR4: 00000000003506f0 DR0: 0000000000000000 DR1: 00000000 00000000 DR2: 0000000000000000 DR3: 00000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Seguimiento de llamadas: Process_one_work+0x889/0x15e0 kernel/workqueue.c :2633 Process_scheduled_works kernel/workqueue.c:2706 [en l\u00ednea] work_thread+0x8b9/0x12a0 kernel/workqueue.c:2787 kthread+0x2c6/0x3b0 kernel/kthread.c:388 ret_from_fork+0x45/0x80 arch/x86/kernel/process. c:147 ret_from_fork_asm+0x1b/0x30 arch/x86/entry/entry_64.S:242 \"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"net/unix/garbage.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"f3969427fb06a2c3cd6efd7faab63505cfa76e76\",\"lessThan\":\"4fe505c63aa3273135a57597fda761e9aecc7668\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"ac1968ac399205fda9ee3b18f7de7416cb3a5d0d\",\"lessThan\":\"e0e09186d8821ad59806115d347ea32efa43ca4b\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"2aab4b96900272885bc157f8b236abf1cdc02e08\",\"lessThan\":\"b74aa9ce13d02b7fd37c5325b99854f91b9b4276\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"2aab4b96900272885bc157f8b236abf1cdc02e08\",\"lessThan\":\"82ae47c5c3a6b27fdc0f9e83c1499cb439c56140\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"2aab4b96900272885bc157f8b236abf1cdc02e08\",\"lessThan\":\"1279f9d9dec2d7462823a18c29ad61359e0a007d\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"a59d6306263c38e5c0592ea4451ca26a0778c947\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"5.15.103\",\"lessThan\":\"5.15.149\",\"versionType\":\"semver\",\"status\":\"affected\"},{\"version\":\"6.1.20\",\"lessThan\":\"6.1.78\",\"versionType\":\"semver\",\"status\":\"affected\"},{\"version\":\"6.2.7\",\"lessThan\":\"6.3\",\"versionType\":\"semver\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"net/unix/garbage.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"6.3\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"6.3\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.15.149\",\"lessThanOrEqual\":\"5.15.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.1.78\",\"lessThanOrEqual\":\"6.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.6.17\",\"lessThanOrEqual\":\"6.6.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.7.5\",\"lessThanOrEqual\":\"6.7.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.8\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H\",\"baseScore\":5.5,\"baseSeverity\":\"MEDIUM\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":3.6}],\"ssvcV203\":[{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"ssvcData\":{\"timestamp\":\"2025-05-07T20:00:56.944715Z\",\"id\":\"CVE-2024-26676\",\"options\":[{\"exploitation\":\"none\"},{\"automatable\":\"no\"},{\"technicalImpact\":\"partial\"}],\"role\":\"CISA Coordinator\",\"version\":\"2.0.3\"}}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-401\"}]},{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-401\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.15.103\",\"versionEndExcluding\":\"5.15.149\",\"matchCriteriaId\":\"4FAB2FFB-5A96-45F6-9071-7825241E6C95\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.1.20\",\"versionEndExcluding\":\"6.1.78\",\"matchCriteriaId\":\"A80DCCF0-D73E-4F5C-A595-73C79D8D9661\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.3\",\"versionEndExcluding\":\"6.6.17\",\"matchCriteriaId\":\"DCCC2E74-F616-4B9E-A7DF-B5284D18F936\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.7\",\"versionEndExcluding\":\"6.7.5\",\"matchCriteriaId\":\"01925741-2C95-47C1-A7EA-3DC2BB0012D3\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.8:rc1:*:*:*:*:*:*\",\"matchCriteriaId\":\"B9F4EA73-0894-400F-A490-3A397AB7A517\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.8:rc2:*:*:*:*:*:*\",\"matchCriteriaId\":\"056BD938-0A27-4569-B391-30578B309EE3\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.8:rc3:*:*:*:*:*:*\",\"matchCriteriaId\":\"F02056A5-B362-4370-9FF8-6F0BD384D520\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/1279f9d9dec2d7462823a18c29ad61359e0a007d\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/4fe505c63aa3273135a57597fda761e9aecc7668\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/82ae47c5c3a6b27fdc0f9e83c1499cb439c56140\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/b74aa9ce13d02b7fd37c5325b99854f91b9b4276\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/e0e09186d8821ad59806115d347ea32efa43ca4b\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/1279f9d9dec2d7462823a18c29ad61359e0a007d\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/4fe505c63aa3273135a57597fda761e9aecc7668\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/82ae47c5c3a6b27fdc0f9e83c1499cb439c56140\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/b74aa9ce13d02b7fd37c5325b99854f91b9b4276\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/e0e09186d8821ad59806115d347ea32efa43ca4b\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]}]}}",
"redhat_vex": {
"aggregate_severity": "Low",
"current_release_date": "2025-11-21T14:46:35+00:00",
"cve": "CVE-2024-26676",
"id": "CVE-2024-26676",
"initial_release_date": "2024-04-02T00:00:00+00:00",
"product_status:known_not_affected": "198",
"source": "Red Hat CSAF VEX",
"status": "final",
"title": "kernel: af_unix: Call kfree_skb() for dead unix_(sk)-\u003eoob_skb in GC",
"url": "https://security.access.redhat.com/data/csaf/v2/vex/2024/cve-2024-26676.json",
"version": "3"
},
"vulnrichment": {
"containers": "{\"adp\": [{\"title\": \"CVE Program Container\", \"references\": [{\"url\": \"https://git.kernel.org/stable/c/4fe505c63aa3273135a57597fda761e9aecc7668\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/e0e09186d8821ad59806115d347ea32efa43ca4b\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/b74aa9ce13d02b7fd37c5325b99854f91b9b4276\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/82ae47c5c3a6b27fdc0f9e83c1499cb439c56140\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/1279f9d9dec2d7462823a18c29ad61359e0a007d\", \"tags\": [\"x_transferred\"]}], \"providerMetadata\": {\"orgId\": \"af854a3a-2127-422b-91ae-364da2661108\", \"shortName\": \"CVE\", \"dateUpdated\": \"2024-08-02T00:14:12.513Z\"}}, {\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"cvssV3_1\": {\"scope\": \"UNCHANGED\", \"version\": \"3.1\", \"baseScore\": 5.5, \"attackVector\": \"LOCAL\", \"baseSeverity\": \"MEDIUM\", \"vectorString\": \"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H\", \"integrityImpact\": \"NONE\", \"userInteraction\": \"NONE\", \"attackComplexity\": \"LOW\", \"availabilityImpact\": \"HIGH\", \"privilegesRequired\": \"LOW\", \"confidentialityImpact\": \"NONE\"}}, {\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2024-26676\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2025-05-07T20:00:56.944715Z\"}}}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-401\", \"description\": \"CWE-401 Missing Release of Memory after Effective Lifetime\"}]}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2024-05-23T19:01:21.128Z\"}}], \"cna\": {\"title\": \"af_unix: Call kfree_skb() for dead unix_(sk)-\u003eoob_skb in GC.\", \"affected\": [{\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"f3969427fb06a2c3cd6efd7faab63505cfa76e76\", \"lessThan\": \"4fe505c63aa3273135a57597fda761e9aecc7668\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"ac1968ac399205fda9ee3b18f7de7416cb3a5d0d\", \"lessThan\": \"e0e09186d8821ad59806115d347ea32efa43ca4b\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"2aab4b96900272885bc157f8b236abf1cdc02e08\", \"lessThan\": \"b74aa9ce13d02b7fd37c5325b99854f91b9b4276\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"2aab4b96900272885bc157f8b236abf1cdc02e08\", \"lessThan\": \"82ae47c5c3a6b27fdc0f9e83c1499cb439c56140\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"2aab4b96900272885bc157f8b236abf1cdc02e08\", \"lessThan\": \"1279f9d9dec2d7462823a18c29ad61359e0a007d\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"a59d6306263c38e5c0592ea4451ca26a0778c947\", \"versionType\": \"git\"}], \"programFiles\": [\"net/unix/garbage.c\"], \"defaultStatus\": \"unaffected\"}, {\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"6.3\"}, {\"status\": \"unaffected\", \"version\": \"0\", \"lessThan\": \"6.3\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"5.15.149\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.15.*\"}, {\"status\": \"unaffected\", \"version\": \"6.1.78\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.1.*\"}, {\"status\": \"unaffected\", \"version\": \"6.6.17\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.6.*\"}, {\"status\": \"unaffected\", \"version\": \"6.7.5\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.7.*\"}, {\"status\": \"unaffected\", \"version\": \"6.8\", \"versionType\": \"original_commit_for_fix\", \"lessThanOrEqual\": \"*\"}], \"programFiles\": [\"net/unix/garbage.c\"], \"defaultStatus\": \"affected\"}], \"references\": [{\"url\": \"https://git.kernel.org/stable/c/4fe505c63aa3273135a57597fda761e9aecc7668\"}, {\"url\": \"https://git.kernel.org/stable/c/e0e09186d8821ad59806115d347ea32efa43ca4b\"}, {\"url\": \"https://git.kernel.org/stable/c/b74aa9ce13d02b7fd37c5325b99854f91b9b4276\"}, {\"url\": \"https://git.kernel.org/stable/c/82ae47c5c3a6b27fdc0f9e83c1499cb439c56140\"}, {\"url\": \"https://git.kernel.org/stable/c/1279f9d9dec2d7462823a18c29ad61359e0a007d\"}], \"x_generator\": {\"engine\": \"bippy-1.2.0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\naf_unix: Call kfree_skb() for dead unix_(sk)-\u003eoob_skb in GC.\\n\\nsyzbot reported a warning [0] in __unix_gc() with a repro, which\\ncreates a socketpair and sends one socket\u0027s fd to itself using the\\npeer.\\n\\n socketpair(AF_UNIX, SOCK_STREAM, 0, [3, 4]) = 0\\n sendmsg(4, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base=\\\"\\\\360\\\", iov_len=1}],\\n msg_iovlen=1, msg_control=[{cmsg_len=20, cmsg_level=SOL_SOCKET,\\n cmsg_type=SCM_RIGHTS, cmsg_data=[3]}],\\n msg_controllen=24, msg_flags=0}, MSG_OOB|MSG_PROBE|MSG_DONTWAIT|MSG_ZEROCOPY) = 1\\n\\nThis forms a self-cyclic reference that GC should finally untangle\\nbut does not due to lack of MSG_OOB handling, resulting in memory\\nleak.\\n\\nRecently, commit 11498715f266 (\\\"af_unix: Remove io_uring code for\\nGC.\\\") removed io_uring\u0027s dead code in GC and revealed the problem.\\n\\nThe code was executed at the final stage of GC and unconditionally\\nmoved all GC candidates from gc_candidates to gc_inflight_list.\\nThat papered over the reported problem by always making the following\\nWARN_ON_ONCE(!list_empty(\u0026gc_candidates)) false.\\n\\nThe problem has been there since commit 2aab4b969002 (\\\"af_unix: fix\\nstruct pid leaks in OOB support\\\") added full scm support for MSG_OOB\\nwhile fixing another bug.\\n\\nTo fix this problem, we must call kfree_skb() for unix_sk(sk)-\u003eoob_skb\\nif the socket still exists in gc_candidates after purging collected skb.\\n\\nThen, we need to set NULL to oob_skb before calling kfree_skb() because\\nit calls last fput() and triggers unix_release_sock(), where we call\\nduplicate kfree_skb(u-\u003eoob_skb) if not NULL.\\n\\nNote that the leaked socket remained being linked to a global list, so\\nkmemleak also could not detect it. We need to check /proc/net/protocol\\nto notice the unfreed socket.\\n\\n[0]:\\nWARNING: CPU: 0 PID: 2863 at net/unix/garbage.c:345 __unix_gc+0xc74/0xe80 net/unix/garbage.c:345\\nModules linked in:\\nCPU: 0 PID: 2863 Comm: kworker/u4:11 Not tainted 6.8.0-rc1-syzkaller-00583-g1701940b1a02 #0\\nHardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/25/2024\\nWorkqueue: events_unbound __unix_gc\\nRIP: 0010:__unix_gc+0xc74/0xe80 net/unix/garbage.c:345\\nCode: 8b 5c 24 50 e9 86 f8 ff ff e8 f8 e4 22 f8 31 d2 48 c7 c6 30 6a 69 89 4c 89 ef e8 97 ef ff ff e9 80 f9 ff ff e8 dd e4 22 f8 90 \u003c0f\u003e 0b 90 e9 7b fd ff ff 48 89 df e8 5c e7 7c f8 e9 d3 f8 ff ff e8\\nRSP: 0018:ffffc9000b03fba0 EFLAGS: 00010293\\nRAX: 0000000000000000 RBX: ffffc9000b03fc10 RCX: ffffffff816c493e\\nRDX: ffff88802c02d940 RSI: ffffffff896982f3 RDI: ffffc9000b03fb30\\nRBP: ffffc9000b03fce0 R08: 0000000000000001 R09: fffff52001607f66\\nR10: 0000000000000003 R11: 0000000000000002 R12: dffffc0000000000\\nR13: ffffc9000b03fc10 R14: ffffc9000b03fc10 R15: 0000000000000001\\nFS: 0000000000000000(0000) GS:ffff8880b9400000(0000) knlGS:0000000000000000\\nCS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033\\nCR2: 00005559c8677a60 CR3: 000000000d57a000 CR4: 00000000003506f0\\nDR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\\nDR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400\\nCall Trace:\\n \u003cTASK\u003e\\n process_one_work+0x889/0x15e0 kernel/workqueue.c:2633\\n process_scheduled_works kernel/workqueue.c:2706 [inline]\\n worker_thread+0x8b9/0x12a0 kernel/workqueue.c:2787\\n kthread+0x2c6/0x3b0 kernel/kthread.c:388\\n ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:147\\n ret_from_fork_asm+0x1b/0x30 arch/x86/entry/entry_64.S:242\\n \u003c/TASK\u003e\"}], \"cpeApplicability\": [{\"nodes\": [{\"negate\": false, \"cpeMatch\": [{\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.15.149\", \"versionStartIncluding\": \"5.15.103\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.1.78\", \"versionStartIncluding\": \"6.1.20\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.6.17\", \"versionStartIncluding\": \"6.3\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.7.5\", \"versionStartIncluding\": \"6.3\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.8\", \"versionStartIncluding\": \"6.3\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionStartIncluding\": \"6.2.7\"}], \"operator\": \"OR\"}]}], \"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2026-05-11T20:02:02.471Z\"}}}",
"cveMetadata": "{\"cveId\": \"CVE-2024-26676\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-05-11T20:02:02.471Z\", \"dateReserved\": \"2024-02-19T14:20:24.151Z\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"datePublished\": \"2024-04-02T07:01:40.758Z\", \"assignerShortName\": \"Linux\"}",
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
}
}
Loading…
Loading…
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
Loading…