Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

CVE-2025-40248

Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
04/12/2025
Última modificación:
04/12/2025

Descripción

*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> vsock: Ignore signal/timeout on connect() if already established<br /> <br /> During connect(), acting on a signal/timeout by disconnecting an already<br /> established socket leads to several issues:<br /> <br /> 1. connect() invoking vsock_transport_cancel_pkt() -&gt;<br /> virtio_transport_purge_skbs() may race with sendmsg() invoking<br /> virtio_transport_get_credit(). This results in a permanently elevated<br /> `vvs-&gt;bytes_unsent`. Which, in turn, confuses the SOCK_LINGER handling.<br /> <br /> 2. connect() resetting a connected socket&amp;#39;s state may race with socket<br /> being placed in a sockmap. A disconnected socket remaining in a sockmap<br /> breaks sockmap&amp;#39;s assumptions. And gives rise to WARNs.<br /> <br /> 3. connect() transitioning SS_CONNECTED -&gt; SS_UNCONNECTED allows for a<br /> transport change/drop after TCP_ESTABLISHED. Which poses a problem for<br /> any simultaneous sendmsg() or connect() and may result in a<br /> use-after-free/null-ptr-deref.<br /> <br /> Do not disconnect socket on signal/timeout. Keep the logic for unconnected<br /> sockets: they don&amp;#39;t linger, can&amp;#39;t be placed in a sockmap, are rejected by<br /> sendmsg().<br /> <br /> [1]: https://lore.kernel.org/netdev/e07fd95c-9a38-4eea-9638-133e38c2ec9b@rbox.co/<br /> [2]: https://lore.kernel.org/netdev/20250317-vsock-trans-signal-race-v4-0-fc8837f3f1d4@rbox.co/<br /> [3]: https://lore.kernel.org/netdev/60f1b7db-3099-4f6a-875e-af9f6ef194f6@rbox.co/

Impacto