veth: fix NAPI leak in XDP enable error path (Linux Linux)
En bref
- Source
- NVD
- EPSS
- EPSS 0.13 % · centile 3 ()
- État
- PUBLISHED
- Publiée
- Mise à jour
- Attribuée par
- Linux
- Statut NVD
- Received
Rechercher sur…
Description
In the Linux kernel, the following vulnerability has been resolved: veth: fix NAPI leak in XDP enable error path During XDP enablement in veth, if xdp_rxq_info_reg() or xdp_rxq_info_reg_mem_model() fails, the driver rolls back the changes. However, the rollback loop: for (i--; i >= start; i--) { decrements the loop index 'i' before the first iteration. This correctly skips unregistering the rxq for the failed index 'i' (as registration failed or was already cleaned up), but it also erroneously skips calling netif_napi_deli() for rq[i].xdp_napi. Since netif_napi_add() was already called for index 'i', this leaves a dangling napi_struct in the device's napi_list. When the veth device is later destroyed, the freed queue memory (which contains the leaked NAPI structure) can be reused. The subsequent device teardown iterates the NAPI list and corrupts the reallocated memory, leading to UAF. Fix this by explicitly deleting the NAPI association for the failed index 'i' before rolling back the successfully configured queues.
Références
- https://git.kernel.org/stable/c/fc51373345e7e6ea73da2650cb497309c50b077a
- https://git.kernel.org/stable/c/4559770b2a241344d762719e674241fcc8528f02
- https://git.kernel.org/stable/c/83090f5e7b54721d71875a6c224d2490b9e73050
- https://git.kernel.org/stable/c/d3eb258ad398cc9402bab3a5e730cd7c5b34efad
- https://git.kernel.org/stable/c/a9e6707322ef215d39d4655b176c094f45f0ab52
- https://git.kernel.org/stable/c/4bd2e5dbe62334aae1182d0f0d260f334a49d739
- https://git.kernel.org/stable/c/6739027cb72da26890edd424c77080d187b2a92e
Scores
| Version | Score | Vecteur | Évalué par |
|---|---|---|---|
| CVSS 3.1 | HIGH 7.8 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H | Linux |
| CVSS 3.1 | HIGH 7.8 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H | NVD · 416baaa9-dc9f-4396-8d5f-8c081fb06d67 (Secondary) |
Références européennes
- ENISA EUVD · EUVD-2026-67489
- GCVE · GCVE-0-2026-80613
Avis du CERT-FR
- CERTFR-2026-AVI-1385 — Multiples vulnérabilités dans les produits VMware · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1372 — Multiples vulnérabilités dans les produits SUSE · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1335 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1333 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1286 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
Produits affectés
| Produit | Versions |
|---|---|
| Linux · Linux | affected b02e5a0ebb172c8276cea3151942aac681f7a4a6 < fc51373345e7e6ea73da2650cb497309c50b077a ; affected b02e5a0ebb172c8276cea3151942aac681f7a4a6 < 4559770b2a241344d762719e674241fcc8528f02 ; affected b02e5a0ebb172c8276cea3151942aac681f7a4a6 < 83090f5e7b54721d71875a6c224d2490b9e73050 ; affected b02e5a0ebb172c8276cea3151942aac681f7a4a6 < d3eb258ad398cc9402bab3a5e730cd7c5b34efad ; affected b02e5a0ebb172c8276cea3151942aac681f7a4a6 < a9e6707322ef215d39d4655b176c094f45f0ab52 ; affected b02e5a0ebb172c8276cea3151942aac681f7a4a6 < 4bd2e5dbe62334aae1182d0f0d260f334a49d739 |
| Linux · Linux | affected 5.11 ; unaffected 0 < 5.11 ; unaffected 5.15.212 ≤ 5.15.* ; unaffected 6.1.178 ≤ 6.1.* ; unaffected 6.6.145 ≤ 6.6.* ; unaffected 6.12.97 ≤ 6.12.* |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST — attribution requested |
| ENISA EUVD | ENISA — reproduction authorised, source acknowledged |
| CERT-FR (ANSSI) | Licence Ouverte / Etalab 2.0 |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain — this product uses data from the NVD API but is not endorsed or certified by the NVD |