CVE-2026-98554
En el kernel de Linux se ha resuelto la siguiente vulnerabilidad:
vlan: garantizar headroom suficiente en vlan_dev_hard_header()
Los llamadores que solo reservan ETH_HLEN o menos (como llc_alloc_frame()), o los skb asignados antes de cambios dinámicos en el dispositivo o en el headroom (por ejemplo, al alternar VLAN_FLAG_REORDER_HDR o al cambiar los esclavos de bonding/team), pueden llegar a vlan_dev_hard_header() con headroom insuficiente y provocar skb_under_panic().
Usar skb_cow_head() en vlan_dev_hard_header() cuando VLAN_FLAG_REORDER_HDR no está activado, para garantizar headroom suficiente para la(s) cabecera(s) VLAN y la cabecera hard del dispositivo subyacente.
Leer descripción completaMostrar menos
Usar READ_ONCE() para leer dev->hard_header_len y dev->needed_headroom, ya que pueden actualizarse concurrentemente bajo RTNL (por ejemplo, en vlan_transfer_features()) mientras vlan_dev_hard_header() se ejecuta sin bloqueo en la ruta de transmisión. Además, evitar aquí LL_RESERVED_SPACE(dev), para que el relleno adicional de alineación HH_DATA_MOD no provoque reasignaciones innecesarias con pskb_expand_head() en dispositivos VLAN apilados internos tras haberse añadido cabecera VLAN exterior.
Traducción automática del texto original de NVD (en inglés).
CVSS
NVD no ha asignado puntuación CVSS a esta CVE (habitual desde el cambio de política de abril de 2026).
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días
- 0.21 %
- Percentil entre todas las CVEs puntuadas
- 11
- Fecha de la puntuación
- 20/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).
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
Mostrar las 8 referencias
- https://git.kernel.org/stable/c/4ba1f57313f36a3ce6f77d593548f0c511f34aa1
- https://git.kernel.org/stable/c/55e007fc3b4d76fa4d6b4660f6904fe6ab045a1b
- https://git.kernel.org/stable/c/5aca8e6a8ff6aeae358c1d9b65447aac416ace95
- https://git.kernel.org/stable/c/90d51095371d96747f45bbd8504edf6513e039ef
- https://git.kernel.org/stable/c/c7ee4bea64f559ea8e03260014775b64c720cb5b
- https://git.kernel.org/stable/c/ca797491f0ae4bfde9039f79f6f1ed7781c9110f
- https://git.kernel.org/stable/c/cd5dd68267c4238795fadaf02b3575ca3f8a6500
- https://git.kernel.org/stable/c/cfba0f45553de2b803059e3d539a1e418df24da8
JSON original (NVD)
Mostrar
{
"id": "CVE-2026-98554",
"cveTags": [],
"metrics": {},
"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": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
"lessThan": "55e007fc3b4d76fa4d6b4660f6904fe6ab045a1b",
"versionType": "git"
},
{
"status": "affected",
"version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
"lessThan": "5aca8e6a8ff6aeae358c1d9b65447aac416ace95",
"versionType": "git"
},
{
"status": "affected",
"version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
"lessThan": "4ba1f57313f36a3ce6f77d593548f0c511f34aa1",
"versionType": "git"
},
{
"status": "affected",
"version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
"lessThan": "ca797491f0ae4bfde9039f79f6f1ed7781c9110f",
"versionType": "git"
},
{
"status": "affected",
"version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
"lessThan": "cfba0f45553de2b803059e3d539a1e418df24da8",
"versionType": "git"
},
{
"status": "affected",
"version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
"lessThan": "c7ee4bea64f559ea8e03260014775b64c720cb5b",
"versionType": "git"
},
{
"status": "affected",
"version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
"lessThan": "90d51095371d96747f45bbd8504edf6513e039ef",
"versionType": "git"
},
{
"status": "affected",
"version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
"lessThan": "cd5dd68267c4238795fadaf02b3575ca3f8a6500",
"versionType": "git"
}
],
"programFiles": [
"net/8021q/vlan_dev.c"
],
"defaultStatus": "unaffected"
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "2.6.12"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "2.6.12",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "5.10.271",
"versionType": "semver",
"lessThanOrEqual": "5.10.*"
},
{
"status": "unaffected",
"version": "5.15.222",
"versionType": "semver",
"lessThanOrEqual": "5.15.*"
},
{
"status": "unaffected",
"version": "6.1.189",
"versionType": "semver",
"lessThanOrEqual": "6.1.*"
},
{
"status": "unaffected",
"version": "6.6.158",
"versionType": "semver",
"lessThanOrEqual": "6.6.*"
},
{
"status": "unaffected",
"version": "6.12.112",
"versionType": "semver",
"lessThanOrEqual": "6.12.*"
},
{
"status": "unaffected",
"version": "6.18.55",
"versionType": "semver",
"lessThanOrEqual": "6.18.*"
},
{
"status": "unaffected",
"version": "7.2.9",
"versionType": "semver",
"lessThanOrEqual": "7.2.*"
},
{
"status": "unaffected",
"version": "7.3",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}
],
"programFiles": [
"net/8021q/vlan_dev.c"
],
"defaultStatus": "affected"
}
]
}
],
"published": "2026-10-18T16:17:07.490",
"references": [
{
"url": "https://git.kernel.org/stable/c/4ba1f57313f36a3ce6f77d593548f0c511f34aa1",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/55e007fc3b4d76fa4d6b4660f6904fe6ab045a1b",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/5aca8e6a8ff6aeae358c1d9b65447aac416ace95",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/90d51095371d96747f45bbd8504edf6513e039ef",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/c7ee4bea64f559ea8e03260014775b64c720cb5b",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/ca797491f0ae4bfde9039f79f6f1ed7781c9110f",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/cd5dd68267c4238795fadaf02b3575ca3f8a6500",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/cfba0f45553de2b803059e3d539a1e418df24da8",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
],
"vulnStatus": "Received",
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nvlan: ensure sufficient headroom in vlan_dev_hard_header()\n\nCallers that only reserve ETH_HLEN or less (such as llc_alloc_frame()),\nor skbs allocated before dynamic device/headroom changes (e.g. toggling\nVLAN_FLAG_REORDER_HDR or bonding/team switching slaves), can reach\nvlan_dev_hard_header() with insufficient headroom and trigger\nskb_under_panic().\n\nUse skb_cow_head() in vlan_dev_hard_header() when VLAN_FLAG_REORDER_HDR\nis not set to ensure sufficient headroom for the VLAN header(s) and the\nunderlying device hard header.\n\nUse READ_ONCE() to read dev->hard_header_len and dev->needed_headroom as\nthey can be updated concurrently under RTNL (e.g. in\nvlan_transfer_features()) while vlan_dev_hard_header() runs locklessly on\nthe transmit path. Also avoid LL_RESERVED_SPACE(dev) here so that the\nextra HH_DATA_MOD alignment padding does not trigger unnecessary\npskb_expand_head() reallocations on inner stacked VLAN devices after the\nouter VLAN header has been pushed."
}
],
"lastModified": "2026-10-19T10:19:11.773",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}