CVE-2026-74748
In the Linux kernel, the following vulnerability has been resolved:
netfilter: ipset: fix refcount race between list:set GC and swap
__ip_set_put_byindex() resolved the index to a set pointer under RCU, then took ip_set_ref_lock in __ip_set_put() to decrement set->ref. ip_set_swap() holds that same lock while swapping both the ip_set_list slots and the two sets' ref counters, so it can interleave between the dereference and the lock acquisition, leaving the caller to decrement a set whose reference already moved to the other index and hit BUG_ON(set->ref == 0). list_set_gc() reaches this from timer softirq, which the nfnl mutex does not serialize against swap: an expiring list:set member calls list_set_del() -> ip_set_put_byindex() while IPSET_CMD_SWAP runs on the referenced sets.
Leer descripción completaMostrar menos
Resolve the index and decrement under ip_set_ref_lock, as ip_set_swap() already does, keeping the refcount tied to the index rather than to a stale set pointer.
Detalles técnicos trazas, registros y código del informe original
kernel BUG at net/netfilter/ipset/ip_set_core.c:685! Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI RIP: 0010:ip_set_put_byindex (net/netfilter/ipset/ip_set_core.c:870) Call Trace: <IRQ> list_set_del (net/netfilter/ipset/ip_set_list_set.c:159) set_cleanup_entries (net/netfilter/ipset/ip_set_list_set.c:181) list_set_gc (net/netfilter/ipset/ip_set_list_set.c:578) call_timer_fn (kernel/time/timer.c:1748) __run_timers (kernel/time/timer.c:1799 kernel/time/timer.c:2374) run_timer_softirq (kernel/time/timer.c:2405) </IRQ> Kernel panic - not syncing: Fatal exception in interrupt
CVSS
- Versión: 3.1
- Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- Puntuación base: 7.8
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días: 0.14%
- Percentil entre todas las CVEs puntuadas: 3
- Fecha de la puntuación: 5/10/2026
EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).
🎯 Técnicas ATT&CK
Cómo se explota esta vulnerabilidad y qué consigue el atacante, en el lenguaje de MITRE ATT&CK.
- Explotación
T1068Exploitation for Privilege Escalationprivilege escalation75 % - Impacto principal
T1499.004Application or System Exploitationimpact65 %
Vulnerabilidad de condición de carrera (race condition) en el kernel de Linux que requiere acceso local (AV:L, PR:L) sin interacción del usuario. Causa panic del kernel (DoS) al desincronizar contadores de referencia entre GC en timer softirq y swap de ipset.
Inferido por nuestro agente de análisis a partir de la descripción oficial, el vector CVSS y la CWE, y comprobado por un supervisor. Puede contener errores.
🛡️ Mitigaciones ATT&CK que cubren estas técnicas
Tecnologías afectadas (1)
⚠ Inferidas por IA a partir de la descripción — NVD aún no ha analizado esta CVE; no son CPE verificados.
Referencias
- https://git.kernel.org/stable/c/0c88868271653537ed443272dd8e7d13634d214b
- https://git.kernel.org/stable/c/20cb13a523f0a05cb2d0a7d72abae687683712e0
- https://git.kernel.org/stable/c/24ffcb1e1688c55fd2a505f064295cd28eac546d
- https://git.kernel.org/stable/c/97a01de0c6321b7210d30d0a4d60f10f561097c7
- https://git.kernel.org/stable/c/b0aab9dd1a348b99d75ff52765719d0cc2050630
- https://git.kernel.org/stable/c/b891e7a6bb06e0f6560e5932665ac660acd12225
- https://git.kernel.org/stable/c/c21afc7c216a4d257a4f3f300e0791890bc846b9
- https://git.kernel.org/stable/c/cb20da33839f28f590c99f16bafaa6151451c0e8
JSON original (NVD)
Mostrar
{
"id": "CVE-2026-74748",
"cveTags": [],
"metrics": {
"cvssMetricV31": [
{
"type": "Secondary",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 7.8,
"attackVector": "LOCAL",
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"integrityImpact": "HIGH",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"availabilityImpact": "HIGH",
"privilegesRequired": "LOW",
"confidentialityImpact": "HIGH"
},
"impactScore": 5.9,
"exploitabilityScore": 1.8
}
]
},
"affected": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"affectedData": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "9076aea76538556224e7d73ab718f8841330818a",
"lessThan": "97a01de0c6321b7210d30d0a4d60f10f561097c7",
"versionType": "git"
},
{
"status": "affected",
"version": "9076aea76538556224e7d73ab718f8841330818a",
"lessThan": "c21afc7c216a4d257a4f3f300e0791890bc846b9",
"versionType": "git"
},
{
"status": "affected",
"version": "9076aea76538556224e7d73ab718f8841330818a",
"lessThan": "b0aab9dd1a348b99d75ff52765719d0cc2050630",
"versionType": "git"
},
{
"status": "affected",
"version": "9076aea76538556224e7d73ab718f8841330818a",
"lessThan": "b891e7a6bb06e0f6560e5932665ac660acd12225",
"versionType": "git"
},
{
"status": "affected",
"version": "9076aea76538556224e7d73ab718f8841330818a",
"lessThan": "20cb13a523f0a05cb2d0a7d72abae687683712e0",
"versionType": "git"
},
{
"status": "affected",
"version": "9076aea76538556224e7d73ab718f8841330818a",
"lessThan": "cb20da33839f28f590c99f16bafaa6151451c0e8",
"versionType": "git"
},
{
"status": "affected",
"version": "9076aea76538556224e7d73ab718f8841330818a",
"lessThan": "24ffcb1e1688c55fd2a505f064295cd28eac546d",
"versionType": "git"
},
{
"status": "affected",
"version": "9076aea76538556224e7d73ab718f8841330818a",
"lessThan": "0c88868271653537ed443272dd8e7d13634d214b",
"versionType": "git"
}
],
"programFiles": [
"net/netfilter/ipset/ip_set_core.c"
],
"defaultStatus": "unaffected"
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "3.8"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "3.8",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "5.10.266",
"versionType": "semver",
"lessThanOrEqual": "5.10.*"
},
{
"status": "unaffected",
"version": "5.15.217",
"versionType": "semver",
"lessThanOrEqual": "5.15.*"
},
{
"status": "unaffected",
"version": "6.1.184",
"versionType": "semver",
"lessThanOrEqual": "6.1.*"
},
{
"status": "unaffected",
"version": "6.6.153",
"versionType": "semver",
"lessThanOrEqual": "6.6.*"
},
{
"status": "unaffected",
"version": "6.12.105",
"versionType": "semver",
"lessThanOrEqual": "6.12.*"
},
{
"status": "unaffected",
"version": "6.18.46",
"versionType": "semver",
"lessThanOrEqual": "6.18.*"
},
{
"status": "unaffected",
"version": "7.1.10",
"versionType": "semver",
"lessThanOrEqual": "7.1.*"
},
{
"status": "unaffected",
"version": "7.2",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}
],
"programFiles": [
"net/netfilter/ipset/ip_set_core.c"
],
"defaultStatus": "affected"
}
]
}
],
"published": "2026-08-26T15:16:53.770",
"references": [
{
"url": "https://git.kernel.org/stable/c/0c88868271653537ed443272dd8e7d13634d214b",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/20cb13a523f0a05cb2d0a7d72abae687683712e0",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/24ffcb1e1688c55fd2a505f064295cd28eac546d",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/97a01de0c6321b7210d30d0a4d60f10f561097c7",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/b0aab9dd1a348b99d75ff52765719d0cc2050630",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/b891e7a6bb06e0f6560e5932665ac660acd12225",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/c21afc7c216a4d257a4f3f300e0791890bc846b9",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/cb20da33839f28f590c99f16bafaa6151451c0e8",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
],
"vulnStatus": "Received",
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: ipset: fix refcount race between list:set GC and swap\n\n__ip_set_put_byindex() resolved the index to a set pointer under RCU,\nthen took ip_set_ref_lock in __ip_set_put() to decrement set->ref.\nip_set_swap() holds that same lock while swapping both the ip_set_list\nslots and the two sets' ref counters, so it can interleave between the\ndereference and the lock acquisition, leaving the caller to decrement a\nset whose reference already moved to the other index and hit\nBUG_ON(set->ref == 0). list_set_gc() reaches this from timer softirq,\nwhich the nfnl mutex does not serialize against swap: an expiring\nlist:set member calls list_set_del() -> ip_set_put_byindex() while\nIPSET_CMD_SWAP runs on the referenced sets.\n\nResolve the index and decrement under ip_set_ref_lock, as ip_set_swap()\nalready does, keeping the refcount tied to the index rather than to a\nstale set pointer.\n\n kernel BUG at net/netfilter/ipset/ip_set_core.c:685!\n Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI\n RIP: 0010:ip_set_put_byindex (net/netfilter/ipset/ip_set_core.c:870)\n Call Trace:\n <IRQ>\n list_set_del (net/netfilter/ipset/ip_set_list_set.c:159)\n set_cleanup_entries (net/netfilter/ipset/ip_set_list_set.c:181)\n list_set_gc (net/netfilter/ipset/ip_set_list_set.c:578)\n call_timer_fn (kernel/time/timer.c:1748)\n __run_timers (kernel/time/timer.c:1799 kernel/time/timer.c:2374)\n run_timer_softirq (kernel/time/timer.c:2405)\n </IRQ>\n Kernel panic - not syncing: Fatal exception in interrupt"
}
],
"lastModified": "2026-08-27T06:17:25.680",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}