Skip to content
VulniPulse
Advisory severityHigh7.0Vendor: MediumRed Hat Linux

High [CVE-2026-63978] Drain pending requests at net namespace exit

This high-severity Red Hat Linux advisory covers CVE-2026-63978 affecting Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 9, Shadow Migration Toolkit for Virtualization for RHEL 10.

Aggregated and source-linked by VulniPulse. Data sources, validation and limitations.

CVE-2026-63978 Source published Source updated

VulniPulse record published Record updated

CVE-2026-63978
Affected products & platforms
Red Hat LinuxLinux Kernel
Open source advisory

Get an email when Red Hat Linux Linux Kernel publishes the next one.

See Red Hat Linux Linux Kernel's last 90 days of advisories first. Then choose one product with live alerts free for life, or a free month of real-time alerts on everything with the severity, the fixed version and the vendor's link (card needed, then US$15/month; we email you before the first charge).

Alert me about Red Hat Linux Linux Kernel

Summary

In the Linux kernel, the following vulnerability has been resolved: net/handshake: Drain pending requests at net namespace exit The arguments to list_splice_init() in handshake_net_exit() are reversed. The call moves the local empty "requests" list onto hn->hn_requests, leaving the local list empty, so the subsequent drain loop runs zero iterations.

Pending handshake requests that had not yet been accepted are not torn down when the net namespace is destroyed; each one keeps a reference on a socket file and on the handshake_req allocation.

Pass the source and destination in the documented order (list_splice_init(list, head) moves list onto head) so the pending list is transferred to the local scratch list and drained through handshake_complete(). Fixing the splice direction exposes a list-corruption race.

After the splice each req->hr_list still has non-empty link pointers, threading the stack-local scratch list rather than hn_requests.

A concurrent handshake_req_cancel() -- for example, from sunrpc's TLS timeout on a kernel socket whose netns reference was not taken -- finds the request through the rhashtable, calls remove_pending(), and sees!list_empty(&req->hr_list). __remove_pending_locked() then list_del_init()s an entry off the scratch list while the drain iterates, corrupting it.

Affected versions

No affected-version range was extracted from the source record. The vendor advisory is authoritative. Check it before change work.

Official advisory · high-confidence parse· fetched 7 days ago·verify at source

Fixed versions
  • kernel-0:6.12.0-211.69.1.el10_2
  • kernel-0:5.14.0-687.61.1.el9_8
  • RHSA-2026:91565
  • RHSA-2026:90365

Official advisory · high-confidence parse· fetched 7 days ago·verify at source

Mitigation

Upgrade to a fixed release: kernel-0:6.12.0-211.69.1.el10_2, kernel-0:5.14.0-687.61.1.el9_8, RHSA-2026:91565, RHSA-2026:90365. That is the remediation for this advisory.

The vendor advisory may list interim mitigations or workarounds not captured here. Review it before change work.

Official advisory · high-confidence parse· fetched 7 days ago·verify at source

All Red Hat Linux advisories

iPhone and Android apps · New on the App Store

Monitor future Red Hat Linux CVEs from your phone.

Choose a whole vendor or a precise platform, then receive matching security advisories by phone notification, email, or both. Coverage follows 34 official vendor sources and 160+ reviewed platform categories.

Discussion(0)

No comments yet. Share field notes, upgrade gotchas, or questions — verify against the vendor advisory before acting on community advice.

Sign in to join the discussion.