sctp: hold socket lock when dumping endpoints in sctp_diag (Linux Linux)
En bref
- Source
- NVD
- EPSS
- EPSS 0.22 % · centile 13 ()
- É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: sctp: hold socket lock when dumping endpoints in sctp_diag SCTP_DIAG endpoint dumping was traversing endpoint address lists without holding lock_sock(), while those lists could change concurrently via socket operations (e.g., bindx changes). This creates a race where nla_reserve() counts addresses under RCU protection, but the subsequent copy may see fewer entries, potentially leaking uninitialized memory to userspace. Fix this by: - Taking a reference on each endpoint during hash traversal - Moving socket operations (lock_sock()) outside read_lock_bh() - Serializing address list access during dump - Reworking sctp_for_each_endpoint() to support restart-based traversal with (net, pos) tracking Also: - Add WARN_ON_ONCE() for inconsistent address counts - Fix idiag_states filtering for LISTEN vs association cases - Skip dumping endpoints being freed (ep->base.dead) - Move dump position tracking into iterator, removing cb->args[4] and its comment for sctp_ep_dump()., - Update the comment for cb->args[4] and remove the comment for unused cb->args[5] for sctp_sock_dump(). Note: traversal is restart-based and may re-scan buckets multiple times, but this is acceptable due to small bucket sizes and required to support sleeping-safe callbacks. This issue was reported by Nico Yip (@_cyeaa_) working with TrendAI Zero Day Initiative.
Références
- https://git.kernel.org/stable/c/f98c294a9369b6fe89e652c06357ee594be4dfa2
- https://git.kernel.org/stable/c/8b38e3dcfde3077dbc03eb8ef88e03cc19f70b8a
- https://git.kernel.org/stable/c/ec3c2d59a192e17e1014ba71afc368ba162ecac3
- https://git.kernel.org/stable/c/722576aba0a6d9423714550b1c03239b0f0def77
- https://git.kernel.org/stable/c/abe7f8828e6ac8be858870c2bf836258844f97d5
- https://git.kernel.org/stable/c/207bb4ce8fe7de961ae7bb33569ad2cd61f44954
- https://git.kernel.org/stable/c/f09a245f33e567b604efa1960b7a2d25dd9c8713
- https://git.kernel.org/stable/c/7d8297e26b4e20b5d1c3c3fe51fe81a1c7fbc823
Références européennes
- ENISA EUVD · EUVD-2026-59346
- GCVE · GCVE-0-2026-72447
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 8f840e47f190cbe61a96945c13e9551048d42cef < f98c294a9369b6fe89e652c06357ee594be4dfa2 ; affected 8f840e47f190cbe61a96945c13e9551048d42cef < 8b38e3dcfde3077dbc03eb8ef88e03cc19f70b8a ; affected 8f840e47f190cbe61a96945c13e9551048d42cef < ec3c2d59a192e17e1014ba71afc368ba162ecac3 ; affected 8f840e47f190cbe61a96945c13e9551048d42cef < 722576aba0a6d9423714550b1c03239b0f0def77 ; affected 8f840e47f190cbe61a96945c13e9551048d42cef < abe7f8828e6ac8be858870c2bf836258844f97d5 ; affected 8f840e47f190cbe61a96945c13e9551048d42cef < 207bb4ce8fe7de961ae7bb33569ad2cd61f44954 |
| Linux · Linux | affected 4.7 ; unaffected 0 < 4.7 ; unaffected 5.10.261 ≤ 5.10.* ; unaffected 5.15.212 ≤ 5.15.* ; unaffected 6.1.178 ≤ 6.1.* ; unaffected 6.6.145 ≤ 6.6.* |
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 |