VULNERABILIDAD
CVE-2026-98851 Fuga de referencia de flowtable en la ruta de error de nft_flow_offload_init
nft_flow_offload_init() incrementa el contador de uso de la flowtable con nft_use_inc() antes de llamar a nf_ct_netns_get(), y si esta falla la referencia se filtra porque el callback -destroy nunca se ejecuta. Cada adición de regla fallida filtra una referencia y la flowtable ya no puede eliminarse, con NFT_MSG_DELFLOWTABLE devolviendo -EBUSY aunque ninguna regla la referencie.
Alerta de Nureq Monitor
Detectada 18 OCT · 14:00
CVSS 3.1 · PRELIMINAR
—S/DPROBABILIDAD DE EXPLOTACIÓN (EPSS)
0,2 % PERCENTIL 4
EXPLOTACIÓN ACTIVA
No confirmada
EXPLOIT PÚBLICO
No conocido
Qué es CVE-2026-98851
nft_flow_offload_init() incrementa el contador de uso de la flowtable con nft_use_inc() antes de llamar a nf_ct_netns_get(), y si esta falla la referencia se filtra porque el callback -destroy nunca se ejecuta. Cada adición de regla fallida filtra una referencia y la flowtable ya no puede eliminarse, con NFT_MSG_DELFLOWTABLE devolviendo -EBUSY aunque ninguna regla la referencie.
Productos y versiones afectadas
Linux
Linux
Qué hacer
- Verificá si usás Linux y en qué versión: el rango afectado figura arriba.
- Actualizá a la versión corregida que indique el fabricante en su aviso (ver referencias) o aplicá la mitigación que publique.
- Revisá registros y accesos de los sistemas expuestos para descartar que se haya aprovechado antes de corregir.
Calculadora CVSS
Esta vulnerabilidad todavía no tiene vector CVSS publicado.
Abrir la calculadora completa →
Descripción original
In the Linux kernel, the following vulnerability has been resolved:
netfilter: nft_flow_offload: drop flowtable reference on init error path
nft_flow_offload_init() bumps the flowtable use count with
nft_use_inc() before calling nf_ct_netns_get(). When the latter
fails, the error is returned as-is and the reference is leaked.
The upper layers do not balance it either: nf_tables_newexpr()
clears expr->ops when the expression init callback fails, so the
nft_expr_more() iteration in nft_rule_expr_deactivate() and
nf_tables_rule_destroy() stops right before the failed expression
and its ->destroy callback, which would drop the reference, never
runs.
Each failed rule addition therefore leaks one flowtable reference
and the flowtable can no longer be removed: NFT_MSG_DELFLOWTABLE
keeps reporting -EBUSY even though no rule references it.
Save the nf_ct_netns_get() return value and undo the nft_use_inc()
when it fails, restoring the inc/dec pairing within
nft_flow_offload_init() itself.
Referencias
- git.kernel.org/stable/c/1d27214fd9a4d2c0c6d998fc9d4fb61448a3438e
- git.kernel.org/stable/c/64ac0cb574c740bf723affb79b646eeba920db6b
- git.kernel.org/stable/c/c5f91098edee98c015f78488460a0609e62582a5
- git.kernel.org/stable/c/4cd378423a33194a773c267fc58606d28fce95cf
- git.kernel.org/stable/c/747928b5d4ff8c8de55138a54c13980e4bb88578
Historial de la alerta
- VULNERABILIDAD Nueva vulnerabilidad detectada.
CÓMO SE HIZOResumen traducido automáticamente al español a partir de la descripción original. Ante dudas, la descripción original y las referencias del fabricante son la fuente de verdad. Cómo funciona.