CVE-2025-40186 in Linuxinformation

Résumé

par VulDB • 22/05/2026

Dans le noyau Linux, la vulnérabilité suivante a été corrigée :

tcp : Ne pas appeler reqsk_fastopen_remove() dans tcp_conn_request().

syzbot a signalé l'erreur ci-dessous dans tcp_conn_request(). [0]

Si un écouteur (listener) est fermé (close()) pendant qu'un socket TFO est en cours de traitement dans tcp_conn_request(), inet_csk_reqsk_queue_add() ne définit pas reqsk->sk et appelle inet_child_forget(), qui appelle tcp_disconnect() pour le socket TFO.

Après l'engagement cité, tcp_disconnect() appelle reqsk_fastopen_remove(), où reqsk_put() est appelé en raison de !reqsk->sk.

Ensuite, reqsk_fastopen_remove() dans tcp_conn_request() décrémente le dernier req->rsk_refcnt et libère reqsk, et __reqsk_free() au niveau de l'étiquette drop_and_free provoque un underflow du compteur de références pour l'écouteur et un double-libération (double-free) de reqsk.

Supprimons reqsk_fastopen_remove() dans tcp_conn_request().

Notez que les autres appelants s'assurent que tp->fastopen_rsk n'est pas NULL.

[0]:
refcount_t: underflow; use-after-free. WARNING: CPU: 12 PID: 5563 at lib/refcount.c:28 refcount_warn_saturate (lib/refcount.c:28) Modules liés : CPU: 12 UID: 0 PID: 5563 Comm: syz-executor Non modifié syzkaller #0 PREEMPT(full) Nom du matériel : Google Google Compute Engine/Google Compute Engine, BIOS Google 07/12/2025 RIP: 0010:refcount_warn_saturate (lib/refcount.c:28) Code : ab e8 8e 00 00 00 48 89 df e8 7a 00 00 00 48 89 df e8 6a 00 00 00 48 89 df e8 5a 00 00 00 48 89 df e8 4a 00 00 00 48 89 df e8 3a 00 00 00 48 89 df e8 2a 00 00 00 48 89 df e8 1a 00 00 00 48 89 df e8 0a 00 00 00 48 89 df e8 fa ff ff ff 48 89 df e8 ea ff ff ff 48 89 df e8 da ff ff ff 48 89 df e8 ca ff ff ff 48 89 df e8 ba ff ff ff 48 89 df e8 aa ff ff ff 48 89 df e8 9a ff ff ff 48 89 df e8 8a ff ff ff 48 89 df e8 7a ff ff ff 48 89 df e8 6a ff ff ff 48 89 df e8 5a ff ff ff 48 89 df e8 4a ff ff ff 48 89 df e8 3a ff ff ff 48 89 df e8 2a ff ff ff 48 89 df e8 1a ff ff ff 48 89 df e8 0a ff ff ff 48 89 df e8 fa ff ff ff 48 89 df e8 ea ff ff ff 48 89 df e8 da ff ff ff 48 89 df e8 ca ff ff ff 48 89 df e8 ba ff ff ff 48 89 df e8 aa ff ff ff 48 89 df e8 9a ff ff ff 48 89 df e8 8a ff ff ff 48 89 df e8 7a ff ff ff 48 89 df e8 6a ff ff ff 48 89 df e8 5a ff ff ff 48 89 df e8 4a ff ff ff 48 89 df e8 3a ff ff ff 48 89 df e8 2a ff ff ff 48 89 df e8 1a ff ff ff 48 89 df e8 0a ff ff ff 48 89 df e8 fa ff ff ff 48 89 df e8 ea ff ff ff 48 89 df e8 da ff ff ff 48 89 df e8 ca ff ff ff 48 89 df e8 ba ff ff ff 48 89 df e8 aa ff ff ff 48 89 df e8 9a ff ff ff 48 89 df e8 8a ff ff ff 48 89 df e8 7a ff ff ff 48 89 df e8 6a ff ff ff 48 89 df e8 5a ff ff ff 48 89 df e8 4a ff ff ff 48 89 df e8 3a ff ff ff 44 89 c7 e8 2a 00 00 00 48 89 df e8 1a 00 00 00 48 89 df e8 0a 00 00 00 48 89 df e8 fa ff ff ff 48 89 df e8 ea ff ff ff 48 89 df e8 da ff ff ff 48 89 df e8 ca ff ff ff 48 89 df e8 ba ff ff ff 48 89 df e8 aa ff ff ff 48 89 df e8 9a ff ff ff 48 89 df e8 8a ff ff ff 48 89 df e8 7a ff ff ff 48 89 df e8 6a ff ff ff 48

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Responsable

Linux

Réserver

16/04/2025

Divulgation

13/11/2025

Modérer

accepté

Entrée

VDB-332243

CPE

prêt

EPSS

0.00541

KEV

non

Activités

très faible

Sources

Do you need the next level of professionalism?

Upgrade your account now!