SecOps SignalSecurity Intelligence Workspace
Loading collection status
Source: Fortinet PSIRT · Limited verificationCanonical source
RECENTAnalysis pending

Linux kernel RCE CVE-2026-98432

Published
02 Nov 2026, 01:30 PM IST
Source
Fortinet PSIRT · Limited verification
Classification
Source security intelligence

Section 01 · What happened

Publisher text

CVSSv3 Score: 9.8 CVE-2026-98432:ipv4: free inet_opt and ireq_opt after an RCU grace period tcp_v4_syn_recv_sock() transfers ownership of ireq->ireq_opt to the child socket (newinet->inet_opt) without copying it.

Another cpu can concurrently process a retransmitted SYN for the same request socket, and send a SYNACK from tcp_check_req(). tcp_v4_send_synack() and inet_csk_route_req() read ireq->ireq_opt under rcu_read_lock() only, and ip_build_and_send_pkt() and ip_options_build() then read opt->optlen twice.

Note that the SYNACK timer itself is not an issue: it holds a reference on its request socket, and inet_csk_reqsk_queue_drop() calls timer_delete_sync() before the child can be freed.

Since commit 079096f103fa ("tcp/dccp: install syn_recv requests into ehash table"), request sockets are processed without holding the listener lock, so nothing prevents the child socket from being freed while the SYNACK is still being built.

TCP child sockets do not have SOCK_RCU_FREE, and inet_sock_destruct() frees inet_opt with a plain kfree(), leading to a use-after-free in ip_options_build().…

Abbreviated excerpt as provided by the publisher; the full article is at the canonical source. Attributed to Fortinet PSIRT · Limited verification; verify facts against the linked source. Read the full article on fortiguard.fortinet.com.

Section 02 · Sources and evidence

1 public source

Source published: 02 Nov 2026, 01:30 PM IST. Source facts take precedence over AI interpretation.