{"id":68066,"date":"2026-11-03T15:56:05","date_gmt":"2026-11-03T22:56:05","guid":{"rendered":"https:\/\/sn1persecurity.com\/wordpress\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per\/"},"modified":"2026-11-03T15:56:05","modified_gmt":"2026-11-03T22:56:05","slug":"cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per","status":"publish","type":"post","link":"https:\/\/sn1persecurity.com\/wordpress\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per\/","title":{"rendered":"CVE-2026-98432: Linux Kernel TCP Use-After-Free RCE and MPTCP Exposure &#8211; Advisory + Nuclei Detection"},"content":{"rendered":"<p>CVE-2026-98432 is a CVSS 9.8 Linux kernel vulnerability, a use-after-free in the IPv4 TCP handshake code that an unauthenticated attacker can reach by connecting to any listening IPv4 TCP port. It has been in the kernel since Linux 4.4 in January 2016, it was fixed upstream in early October 2026, and on 27 October Anthropic said an unreleased internal research model had built a working remote root exploit against servers with a Multipath TCP (MPTCP) listener. The news this week is that someone appears to be looking for those servers. On 2 November, researcher Marcus Hutchins (MalwareTech) reported residential proxies and Russia-based VPN servers scanning port 443 across the internet with MPTCP-enabled connections that send no HTTP data, and his own scan on 30 October found about 2.1 million servers reachable over MPTCP on that port alone. There is still no public remote code execution exploit and no confirmed exploitation, but there are several public denial-of-service proofs of concept, and the gap between &#8220;crash&#8221; and &#8220;root&#8221; is exactly what well-funded attackers are good at closing.<\/p>\n<p>This post is three things. First, a plain-English explanation of the bug built from the kernel&#8217;s own CVE record, including the part most coverage gets wrong: the flaw is in ordinary IPv4 TCP, not in MPTCP, so turning MPTCP off shrinks the target list without fixing anything. Second, a detection kit that is honest about what the network can tell you: an authenticated Nuclei template that reads the running kernel over SSH and returns a patched, affected or unknown verdict per distribution, plus a script that measures MPTCP exposure the same way the internet-wide survey did. Third, a way to find every affected host across an attack surface, including the Go service someone deployed last year that opened an MPTCP listener without anyone deciding it should. The kernel fix is credited to the upstream networking maintainers; the exploit claim is Anthropic&#8217;s Frontier Red Team&#8217;s; the scanning data in this post is Marcus Hutchins&#8217;, and we quote it rather than repeat it as our own.<\/p>\n<h2 id=\"cve-2026-98432-at-a-glance\">CVE-2026-98432 at a glance<\/h2>\n<ul>\n<li><strong>CVE-2026-98432<\/strong>, &#8220;ipv4: free inet_opt and ireq_opt after an RCU grace period&#8221;. The kernel CVE record assigns no CWE; the bug class is use-after-free (CWE-416).<\/li>\n<li><strong>Impact<\/strong>: kernel memory corruption from a remote, unauthenticated peer. The kernel CNA&#8217;s own scoring notes describe a heap disclosure into the SYNACK, out-of-bounds kernel writes, and a kernel panic. Remote root has been claimed against hosts with an MPTCP listener.<\/li>\n<li><strong>CVSS 3.1<\/strong>: 9.8 Critical, <code>CVSS:3.1\/AV:N\/AC:L\/PR:N\/UI:N\/S:U\/C:H\/I:H\/A:H<\/code> (kernel CNA). Red Hat now rates it Critical 9.8 too, after starting at Moderate 5.9 and moving to Important 8.1 on 29 October. Other vendors score it lower, mainly by rating attack complexity high.<\/li>\n<li><strong>Affected<\/strong>: Linux 4.4 and later (introduced by commit <code>079096f103fa<\/code>). That covers every supported Debian, Ubuntu, RHEL, Rocky, AlmaLinux, SUSE and Amazon Linux kernel.<\/li>\n<li><strong>Fixed upstream<\/strong>: 5.10.272, 5.15.223, 6.1.190, 6.6.159, 6.12.113, 6.18.56, 7.2.10, and 7.3 (mainline commit <code>e3f33b0a1d89<\/code>, 7.3-rc7).<\/li>\n<li><strong>Exploitation status (3 November 2026)<\/strong>: no public RCE exploit, several public DoS proofs of concept, suspected threat-actor MPTCP scanning since 2 November. Not in CISA KEV. EPSS 0.76%.<\/li>\n<li><strong>Fix now<\/strong>: install your distribution&#8217;s fixed kernel and <strong>reboot<\/strong>. Until you can, apply Red Hat&#8217;s nftables rule that drops inbound IPv4 TCP packets carrying IP options.<\/li>\n<\/ul>\n<h2 id=\"what-is-cve-2026-98432\">What is CVE-2026-98432?<\/h2>\n<p>Every IPv4 header can carry options. Two old ones, Record Route and Timestamp, ask routers along the path to stamp their address or the time into the packet. Almost nobody uses them, many networks drop them, but nothing stops a client from putting them in a SYN. When a Linux server receives such a SYN on a listening socket, it saves the options in the request socket (<code>ireq-&gt;ireq_opt<\/code>) so it can echo them correctly in its SYNACK.<\/p>\n<p>The bug is about who owns that saved buffer. When the handshake completes, <code>tcp_v4_syn_recv_sock()<\/code> hands the pointer to the new child socket (<code>newinet-&gt;inet_opt<\/code>) without copying it. Meanwhile, another CPU can be handling a retransmitted SYN for the same request and building a SYNACK from the same options in <code>tcp_v4_send_synack()<\/code> and <code>ip_options_build()<\/code>. Those readers only hold <code>rcu_read_lock()<\/code>, which promises that the memory survives until an RCU grace period ends. But when the child socket is torn down, <code>inet_sock_destruct()<\/code> frees the options with a plain <code>kfree()<\/code>, not <code>kfree_rcu()<\/code>. If the connection completes and dies while the retransmit is mid-flight, the SYNACK is built from freed memory.<\/p>\n<p>The record names a second path. With request socket migration enabled (<code>net.ipv4.tcp_migrate_req=1<\/code>, or a BPF <code>SK_REUSEPORT_SELECT_OR_MIGRATE<\/code> program), a cloned request socket and its original share one options buffer, and <code>tcp_v4_reqsk_destructor()<\/code> frees it the same unsafe way. The fix is two lines in spirit: use <code>kfree_rcu()<\/code> in both destructors. IPv6 is not affected by the first path because <code>tcp_v6_syn_recv_sock()<\/code> duplicates the options; its migration path only matters with CALIPSO labelling and is being fixed separately.<\/p>\n<p>The kernel CNA attached unusually detailed scoring notes to its CVSS vector, and they explain why this is rated 9.8 rather than &#8220;just a crash.&#8221; If an attacker reclaims the freed buffer, a stale length makes <code>ip_options_build()<\/code> copy adjacent kernel heap into the SYNACK and send it back to the peer: a remote memory disclosure. Stale offsets steer writes, which is a path to control-flow corruption. And a bad length can push the packet past its headroom and panic the kernel. Read together, that is the outline of a two-stage remote exploit: leak, then write. It matches Anthropic&#8217;s claim, which it described as 48 minutes to leak a kernel pointer and five more to run commands as root.<\/p>\n<h3 id=\"where-mptcp-comes-in-and-where-it-does-not\">Where MPTCP comes in, and where it does not<\/h3>\n<p>Neither the CVE record nor the patch mentions Multipath TCP. MPTCP entered the story through Anthropic&#8217;s announcement, whose demonstrated exploit targeted servers with an MPTCP listener, and Anthropic has not said why that listener helps. Red Hat&#8217;s bulletin is blunt: MPTCP &#8220;is not a required condition for this flaw,&#8221; and RHEL nodes in their default configuration, where MPTCP is off, are still affected. The Go security team&#8217;s advisory makes the same point from the other side: the demonstrated exploit needs an MPTCP listener, but the underlying bug is not specific to MPTCP, and Go&#8217;s Damien Neil has said that nobody knows whether a viable RCE path exists without one.<\/p>\n<p>So the defensible reading is this. Every unpatched kernel with a reachable IPv4 TCP listener can be crashed, and may be exploitable by a technique nobody has shown yet. Hosts with an MPTCP listener are the ones where root has actually been demonstrated. That makes MPTCP exposure the right way to prioritize, and the wrong way to decide whether to patch.<\/p>\n<h2 id=\"why-so-many-servers-have-an-mptcp-listener\">Why so many servers have an MPTCP listener<\/h2>\n<p>Most people would guess MPTCP listeners are rare. Two defaults make them common.<\/p>\n<p><strong>Some distributions enable MPTCP in the kernel by default.<\/strong> Debian and Ubuntu ship with <code>net.mptcp.enabled=1<\/code>. The RHEL family (RHEL, Rocky, AlmaLinux, CloudLinux) ships with it off.<\/p>\n<p><strong>Go 1.24 and later ask for MPTCP on every listening socket on Linux.<\/strong> The Go runtime&#8217;s <code>multipathtcp<\/code> setting defaults to 2, &#8220;MPTCP on listeners only,&#8221; so any Go 1.24+ server on a kernel that allows MPTCP opens an MPTCP listener without a line of code asking for it. That includes Caddy, and potentially every other Go 1.24+ service you run that has not opted out, down to the internal tools your developers built last quarter. We found one on our own workstation while writing this post: the metrics endpoint of a Nuclei process, which is a Go binary, was listening on MPTCP. It was bound to loopback and harmless, but nobody had chosen to open it.<\/p>\n<p>That is why the survey numbers are larger than expected. Marcus Hutchins reported that his preliminary internet-wide scan of port 443 on 30 October found approximately <strong>2,102,043<\/strong> servers reachable over an MPTCP connection, and a deeper scan that negotiated a full TLS session over MPTCP returned about <strong>762,774<\/strong>. As he notes, neither number says anything about patch state; they measure exposure. And because exploitation does not need a valid HTTP or TLS exchange, he argues the real attack surface is closer to the 2.1 million figure. That is one port. SSH on 22, admin consoles and APIs on other ports add to it.<\/p>\n<h2 id=\"is-cve-2026-98432-being-exploited-the-scanning-activity\">Is CVE-2026-98432 being exploited? The scanning activity<\/h2>\n<p>As of 2 November, Hutchins reports picking up several residential proxies and VPN exit nodes scanning port 443 with MPTCP-enabled connections and sending no data to the HTTP server behind it. His reasoning for calling it CVE-2026-98432 reconnaissance is sound: ordinary scanners do not negotiate MPTCP, and a probe that completes an MPTCP handshake and then says nothing is checking exactly one thing. The use of residential proxies and Russia-based VPNs suggests a threat actor rather than a research project, which typically scans from attributable ranges and publishes its scanner IPs.<\/p>\n<p>What this is not: confirmed exploitation. AWS said it had no evidence of exploitation, Red Hat&#8217;s bulletin reports none, and as of 3 November the CVE is not in CISA&#8217;s Known Exploited Vulnerabilities catalog. What it is: someone building a target list for a bug that already has public crash code. Building a reliable remote kernel exploit for a timing-dependent use-after-free is reported to be extremely difficult. It is also exactly the kind of work state-sponsored teams fund, and the existence of a working exploit, even an unpublished one, proves it can be done.<\/p>\n<h2 id=\"affected-and-fixed-versions\">Affected and fixed versions<\/h2>\n<p>Upstream stable kernels, from the kernel CNA record:<\/p>\n<table>\n<thead>\n<tr>\n<th>Stable branch<\/th>\n<th>Affected<\/th>\n<th>First fixed<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>5.10.y<\/td>\n<td>5.10.0 &#8211; 5.10.271<\/td>\n<td>5.10.272<\/td>\n<\/tr>\n<tr>\n<td>5.15.y<\/td>\n<td>5.15.0 &#8211; 5.15.222<\/td>\n<td>5.15.223<\/td>\n<\/tr>\n<tr>\n<td>6.1.y<\/td>\n<td>6.1.0 &#8211; 6.1.189<\/td>\n<td>6.1.190<\/td>\n<\/tr>\n<tr>\n<td>6.6.y<\/td>\n<td>6.6.0 &#8211; 6.6.158<\/td>\n<td>6.6.159<\/td>\n<\/tr>\n<tr>\n<td>6.12.y<\/td>\n<td>6.12.0 &#8211; 6.12.112<\/td>\n<td>6.12.113<\/td>\n<\/tr>\n<tr>\n<td>6.18.y<\/td>\n<td>6.18.0 &#8211; 6.18.55<\/td>\n<td>6.18.56<\/td>\n<\/tr>\n<tr>\n<td>7.2.y<\/td>\n<td>7.2.0 &#8211; 7.2.9<\/td>\n<td>7.2.10<\/td>\n<\/tr>\n<tr>\n<td>7.3 and later<\/td>\n<td>&#8211;<\/td>\n<td>fixed in mainline<\/td>\n<\/tr>\n<tr>\n<td>Any other branch from 4.4 (4.19, 5.4, 6.19, 7.0, 7.1&#8230;)<\/td>\n<td>all<\/td>\n<td>no stable fix: move to a fixed branch or your vendor&#8217;s kernel<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Distribution status as of 3 November 2026. This is moving daily, so check the vendor page before you act:<\/p>\n<table>\n<thead>\n<tr>\n<th>Distribution<\/th>\n<th>Status<\/th>\n<th>Fixed kernel<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Debian 12 bookworm<\/td>\n<td>Fixed<\/td>\n<td><code>linux<\/code> 6.1.190-1 (DLA-4841-1); <code>linux-6.12<\/code> 6.12.113-1~deb12u1 (DLA-4850-1)<\/td>\n<\/tr>\n<tr>\n<td>Debian 13 trixie<\/td>\n<td>Fixed<\/td>\n<td>6.12.113-1 (DSA-6568-1)<\/td>\n<\/tr>\n<tr>\n<td>Ubuntu 22.04 \/ 24.04 \/ 26.04 LTS, 26.10<\/td>\n<td>Work in progress, no USN yet<\/td>\n<td>5.15.0-203.213 \/ 6.8.0-149.149 \/ 7.0.0-43.43 \/ 7.3.0-10.10<\/td>\n<\/tr>\n<tr>\n<td>Ubuntu 16.04 \/ 18.04 \/ 20.04<\/td>\n<td>No fix yet<\/td>\n<td>&#8211;<\/td>\n<\/tr>\n<tr>\n<td>RHEL 8 \/ 9 \/ 10, OpenShift<\/td>\n<td>See RHSB-2026-016; no erratum listed in the bulletin as of 3 November<\/td>\n<td>nftables mitigation published<\/td>\n<\/tr>\n<tr>\n<td>Amazon Linux 2 \/ 2023<\/td>\n<td>Fixed<\/td>\n<td>ALAS2-2026-4065, ALAS2023-2026-3365 and related; AL2023 locked releases need 2023.12.20261102+<\/td>\n<\/tr>\n<tr>\n<td>Oracle UEK, SUSE SLES 15 SP4-SP6<\/td>\n<td>Fixed per vendor advisories<\/td>\n<td>see vendor<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Two traps. First, sources disagree on RHEL: some write-ups say RHEL fixes shipped on 1 November, while Red Hat&#8217;s own bulletin, last updated 3 November, still lists no erratum and says fixes are being expedited. Until you see an RHSA for CVE-2026-98432 against your exact minor release, treat RHEL as unpatched. Second, a kernel package being installed is not the same as it running. Kernel fixes do nothing until you reboot into them, and &#8220;the update shows as applied in the console&#8221; is the most common way a host stays vulnerable for months.<\/p>\n<h2 id=\"how-the-exploit-chain-works\">How the exploit chain works<\/h2>\n<p>Here is the shape of the attack, with nothing that would let you reproduce it:<\/p>\n<pre><code>Client                                    Server (unpatched, listening on IPv4 TCP)\n  SYN  + IPv4 options [REDACTED]  ----&gt;   saves options in ireq-&gt;ireq_opt\n                                  &lt;----   SYNACK (echoes options)\n  ...  handshake completes, connection torn down   [REDACTED timing]\n  SYN  retransmit (same request)  ----&gt;   CPU B builds SYNACK from ireq_opt\n                                          CPU A: child destroyed -&gt; kfree(inet_opt)\n                                          CPU B: ip_options_build() reads freed memory\n  heap reclaim  [REDACTED]                -&gt; stale length leaks heap into SYNACK (stage 1)\n                                          -&gt; stale offsets steer kernel writes (stage 2)\n<\/code><\/pre>\n<p>The attacker controls both sides of the race: they send the option-bearing SYN, the retransmit, and the packets that complete and tear down the connection. That is why the CNA scored attack complexity as low despite the timing requirement; multicore scheduling makes the race noisy, not impossible, and the attacker gets unlimited retries. What turns a crash into code execution is reclaiming the freed buffer with controlled data, first to leak a kernel pointer and defeat KASLR, then to write. The public DoS proofs of concept stop at the crash.<\/p>\n<p>We are deliberately not publishing a working exploit, a packet layout, or a timing recipe here. Nothing in this post or the accompanying tools sends IP options or races a handshake. For an advisory on another pre-auth flaw where the detection, not the exploit, was the useful part, see our write-up on the <a href=\"https:\/\/sn1persecurity.com\/wordpress\/cve-2026-88771-citrix-netscaler-preauth-rce-detection-with-sn1per\/\">Citrix NetScaler pre-auth RCE<\/a>.<\/p>\n<h2 id=\"am-i-affected-how-to-check-for-cve-2026-98432\">Am I affected? How to check for CVE-2026-98432<\/h2>\n<p>The authoritative answer is on the host. Kernel patch level is not visible from the network: no banner, header or handshake reveals whether <code>inet_sock_destruct()<\/code> uses <code>kfree_rcu()<\/code>.<\/p>\n<pre><code class=\"language-bash\"># 1. The kernel you are RUNNING (not the one installed)\nuname -r\nuname -v                       # Debian puts the real package version here, e.g. &quot;Debian 6.1.190-1&quot;\n\n# 2. Is MPTCP allowed, and is anything listening on it?\nsysctl net.mptcp.enabled       # 1 = allowed (Debian\/Ubuntu default), 0 = off (RHEL default)\nsudo ss -Mlnp                  # MPTCP listeners and the processes that own them\n\n# 3. Is the second race path enabled?\nsysctl net.ipv4.tcp_migrate_req   # should be 0 (the default)\n\n# 4. Is a newer kernel installed but not running?\nls \/var\/run\/reboot-required 2&gt;\/dev\/null       # Debian\/Ubuntu\nsudo needs-restarting -r                       # RHEL family\n\n# 5. Which Go services will open MPTCP listeners?\ngo version -m \/path\/to\/binary | grep -E '^\\s*go|multipathtcp'\n<\/code><\/pre>\n<p>Compare the running version against the tables above, or your vendor&#8217;s advisory for vendor kernels. For a Go binary, a <code>go1.24<\/code> (or later) line with no <code>multipathtcp=0<\/code> setting means it opens MPTCP listeners whenever the kernel allows them.<\/p>\n<h3 id=\"how-to-check-mptcp-exposure-remotely\">How to check MPTCP exposure remotely<\/h3>\n<p>From outside, the one thing you can measure is whether a port accepts MPTCP, which is the precondition for the demonstrated exploit. On a Linux scanner with MPTCP enabled, open an ordinary connection with <code>IPPROTO_MPTCP<\/code> and ask the kernel whether MPTCP was negotiated (<code>TCP_IS_MPTCP<\/code>, Linux 5.16+). Our detection script does exactly that and nothing else: connect, read one socket option, close. A &#8220;TCP only&#8221; answer is not a clean bill of health. It means the demonstrated path is absent and the bug is still there.<\/p>\n<h2 id=\"nuclei-detection-template-for-cve-2026-98432\">Nuclei detection template for CVE-2026-98432<\/h2>\n<p>Because patch state lives on the host, this template is authenticated. It logs in over SSH with credentials you supply, runs one read-only shell line, and compares the running kernel with the fixed versions for upstream, Debian and Ubuntu numbering. RHEL-family, Amazon Linux, Oracle UEK and Ubuntu cloud kernels are vendor backports whose release numbers do not map to upstream, so the template reports them as <code>unknown<\/code> with the errata to check, never as clean. A patched host produces no output.<\/p>\n<pre><code class=\"language-yaml\">id: CVE-2026-98432\n\ninfo:\n  name: Linux Kernel IPv4 TCP Use-After-Free - Authenticated Kernel Check (CVE-2026-98432)\n  author: xer0dayz\n  severity: critical\n  description: |\n    CVE-2026-98432 is a use-after-free in the Linux kernel's IPv4 TCP handshake code.\n    tcp_v4_syn_recv_sock() hands ireq-&gt;ireq_opt (the IP options saved from the SYN) to\n    the child socket without copying it, and inet_sock_destruct() frees it with a plain\n    kfree(). A concurrent SYN retransmit on another CPU can still be building a SYNACK in\n    ip_options_build() from that memory. Request-socket migration (tcp_migrate_req=1)\n    opens a second path through tcp_v4_reqsk_destructor(). The bug dates to Linux 4.4\n    (commit 079096f103fa). A remote root exploit has been demonstrated against hosts with\n    an MPTCP listener; the flaw itself is in plain IPv4 TCP and MPTCP is not required.\n\n    Kernel patch state is not visible from the network, so this template is\n    AUTHENTICATED and NON-DESTRUCTIVE: it logs in over SSH with a password or private\n    key you supply (-var username= -var password= or -var key=&quot;$(cat keyfile)&quot;),\n    runs one read-only shell line (uname -r, uname -v, \/etc\/os-release,\n    \/proc\/sys\/net\/mptcp\/enabled, ss -Mln, tcp_migrate_req, the reboot-required flag and\n    the Red Hat nftables mitigation table) and compares the RUNNING kernel against the\n    fixed upstream\/Debian\/Ubuntu versions. It sends no IP options, no crafted SYNs and\n    nothing to the TCP stack beyond a normal SSH session. RHEL-family, Amazon Linux and\n    UEK kernels are vendor backports and are reported as &quot;unknown&quot; with the errata to\n    check, never as clean. A patched host produces no output.\n  impact: |\n    An unauthenticated remote attacker who wins the race can corrupt kernel memory over a\n    reachable IPv4 TCP port, causing a crash or, as demonstrated against MPTCP listeners,\n    root code execution.\n  remediation: |\n    Install a fixed kernel AND reboot - an installed package does nothing until the\n    running kernel changes. Upstream stable: 5.10.272, 5.15.223, 6.1.190, 6.6.159,\n    6.12.113, 6.18.56, 7.2.10, 7.3+. Debian: 6.1.190-1 (bookworm, DLA-4841-1),\n    6.12.113-1~deb12u1 (bookworm linux-6.12, DLA-4850-1), 6.12.113-1 (trixie,\n    DSA-6568-1). Ubuntu: no USN yet; fixes in progress on 2026-11-03 (22.04\n    5.15.0-203.213, 24.04 6.8.0-149.149, 26.04 7.0.0-43.43, 26.10 7.3.0-10.10). RHEL 8\/9\/10: follow\n    RHSB-2026-016. Interim: Red Hat's nftables rule dropping inbound IPv4 TCP packets with\n    IP options; net.mptcp.enabled=0 (restart services - existing MPTCP listeners stay\n    MPTCP); GODEBUG=multipathtcp=0 for Go 1.24+ services. None of these replace the patch.\n  reference:\n    - https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2026-98432\n    - https:\/\/git.kernel.org\/linus\/e3f33b0a1d89d738e2b913dab519226eaf76e15b\n    - https:\/\/access.redhat.com\/security\/vulnerabilities\/RHSB-2026-016\n    - https:\/\/ubuntu.com\/security\/CVE-2026-98432\n    - https:\/\/security-tracker.debian.org\/tracker\/CVE-2026-98432\n    - https:\/\/groups.google.com\/g\/golang-announce\/c\/PCoQcdxoScw\/m\/aD-MgXEvAAAJ\n  classification:\n    cvss-metrics: CVSS:3.1\/AV:N\/AC:L\/PR:N\/UI:N\/S:U\/C:H\/I:H\/A:H\n    cvss-score: 9.8\n    cve-id: CVE-2026-98432\n    cwe-id: CWE-416\n  metadata:\n    verified: false\n    max-request: 1\n    vendor: linux\n    product: linux_kernel\n  tags: cve,cve2026,js,ssh,linux,kernel,tcp,mptcp,uaf,rce,authenticated\n\nvariables:\n  username: &quot;root&quot;\n  password: &quot;&quot;\n  key: &quot;&quot;\n\njavascript:\n  - pre-condition: |\n      isPortOpen(Host, Port);\n\n    code: |\n      let m = require('nuclei\/ssh');\n      let c = m.SSHClient();\n      let ok = (Key &amp;&amp; Key.length &gt; 0) ? c.ConnectWithKey(Host, Port, Username, Key)\n                                       : c.Connect(Host, Port, Username, Password);\n      let out = c.Run(Cmd);\n      c.Close();\n\n      let f = {};\n      out.split(&quot;\\n&quot;).forEach(function (l) {\n        let i = l.indexOf(&quot;=&quot;);\n        if (i &gt; 0) { f[l.substring(0, i).trim()] = l.substring(i + 1).trim(); }\n      });\n      let k = f[&quot;K&quot;] || &quot;&quot;;\n      let v = f[&quot;V&quot;] || &quot;&quot;;\n\n      \/\/ Upstream stable branch -&gt; first fixed sublevel (kernel CNA record).\n      let FIX = {&quot;5.10&quot;: 272, &quot;5.15&quot;: 223, &quot;6.1&quot;: 190, &quot;6.6&quot;: 159, &quot;6.12&quot;: 113, &quot;6.18&quot;: 56, &quot;7.2&quot;: 10};\n      \/\/ Ubuntu base -&gt; first fixed ABI (in progress, no USN, on 2026-11-03).\n      let UFIX = {&quot;5.15.0&quot;: 203, &quot;6.8.0&quot;: 149, &quot;7.0.0&quot;: 43, &quot;7.3.0&quot;: 10};\n      let UNOFIX = {&quot;4.4.0&quot;: 1, &quot;4.15.0&quot;: 1, &quot;5.4.0&quot;: 1};\n\n      function up(s) {\n        let mm = \/^(\\d+)\\.(\\d+)(?:\\.(\\d+))?\/.exec(s);\n        if (!mm) { return [&quot;unknown&quot;, &quot;unparsed &quot; + s]; }\n        let ma = parseInt(mm[1]), mi = parseInt(mm[2]), sub = parseInt(mm[3] || &quot;0&quot;);\n        if (ma &lt; 4 || (ma == 4 &amp;&amp; mi &lt; 4)) { return [&quot;patched&quot;, &quot;predates 4.4&quot;]; }\n        if (ma &gt; 7 || (ma == 7 &amp;&amp; mi &gt;= 3)) { return [&quot;patched&quot;, &quot;mainline fix&quot;]; }\n        let fx = FIX[ma + &quot;.&quot; + mi];\n        if (fx === undefined) { return [&quot;affected&quot;, ma + &quot;.&quot; + mi + &quot; branch has no stable fix&quot;]; }\n        if (sub &gt;= fx) { return [&quot;patched&quot;, &quot;fixed&quot;]; }\n        return [&quot;affected&quot;, ma + &quot;.&quot; + mi + &quot;.&quot; + sub + &quot; below &quot; + ma + &quot;.&quot; + mi + &quot;.&quot; + fx];\n      }\n\n      let r;\n      let fam = &quot;upstream&quot;;\n      let dm = \/Debian (\\d+\\.\\d+\\.\\d+)\/.exec(v);\n      let um = \/^(\\d+\\.\\d+\\.\\d+)-(\\d+)-([a-z0-9-]+)$\/.exec(k);\n      if (\/\\.el\\d+\/.test(k)) {\n        fam = &quot;rhel-family&quot;; r = [&quot;unknown&quot;, &quot;vendor backport - check RHSA\/ALSA\/RLSA\/ELSA&quot;];\n      } else if (k.indexOf(&quot;.amzn&quot;) &gt;= 0) {\n        fam = &quot;amazon-linux&quot;; r = [&quot;unknown&quot;, &quot;vendor kernel - check ALAS&quot;];\n      } else if (k.indexOf(&quot;uek&quot;) &gt;= 0) {\n        fam = &quot;oracle-uek&quot;; r = [&quot;unknown&quot;, &quot;vendor kernel - check ELSA&quot;];\n      } else if (dm) {\n        fam = &quot;debian&quot;; r = up(dm[1]); r[1] = &quot;Debian &quot; + dm[1] + &quot;: &quot; + r[1];\n      } else if (um &amp;&amp; v.indexOf(&quot;Ubuntu&quot;) &gt;= 0) {\n        fam = &quot;ubuntu&quot;;\n        let base = um[1], abi = parseInt(um[2]);\n        if (UNOFIX[base]) { r = [&quot;affected&quot;, &quot;no fix released for &quot; + base]; }\n        else if (abi &gt;= 1000) { fam = &quot;ubuntu-cloud&quot;; r = [&quot;unknown&quot;, &quot;check the &quot; + um[3] + &quot; row on the Ubuntu CVE tracker&quot;]; }\n        else if (UFIX[base] === undefined) { r = [&quot;unknown&quot;, &quot;base &quot; + base + &quot; not in fix table&quot;]; }\n        else if (abi &gt;= UFIX[base]) { r = [&quot;patched&quot;, &quot;ABI &quot; + abi + &quot; &gt;= &quot; + UFIX[base]]; }\n        else { r = [&quot;affected&quot;, &quot;ABI &quot; + abi + &quot; below &quot; + UFIX[base]]; }\n      } else {\n        r = up(k);\n      }\n\n      let ml = parseInt(f[&quot;ML&quot;] || &quot;0&quot;) || 0;\n      let mlx = parseInt(f[&quot;MLX&quot;] || &quot;0&quot;) || 0;\n      &quot;verdict=&quot; + r[0] + &quot;;family=&quot; + fam + &quot;;kernel=&quot; + k + &quot;;mptcp_enabled=&quot; + (f[&quot;MPTCP&quot;] || &quot;na&quot;) +\n        &quot;;mptcp_listeners=&quot; + ml + &quot;;mptcp_listeners_public=&quot; + mlx + &quot;;migrate_req=&quot; + (f[&quot;MIG&quot;] || &quot;na&quot;) +\n        &quot;;reboot_required=&quot; + (f[&quot;RB&quot;] || &quot;0&quot;) + &quot;;nft_filter=&quot; + ((f[&quot;UID&quot;] == &quot;0&quot;) ? (f[&quot;NFT&quot;] || &quot;0&quot;) : &quot;unchecked&quot;) +\n        &quot;;reason=&quot; + r[1];\n\n    args:\n      Host: &quot;{{Host}}&quot;\n      Port: &quot;22&quot;\n      Username: &quot;{{username}}&quot;\n      Password: &quot;{{password}}&quot;\n      Key: &quot;{{key}}&quot;\n      Cmd: &gt;-\n        echo &quot;K=$(uname -r)&quot;; echo &quot;V=$(uname -v)&quot;;\n        echo &quot;OS=$(. \/etc\/os-release 2&gt;\/dev\/null; echo ${ID}:${VERSION_ID})&quot;;\n        echo &quot;MPTCP=$(cat \/proc\/sys\/net\/mptcp\/enabled 2&gt;\/dev\/null || echo na)&quot;;\n        echo &quot;ML=$(ss -Mln 2&gt;\/dev\/null | tail -n +2 | wc -l)&quot;;\n        echo &quot;MLX=$(ss -Mln 2&gt;\/dev\/null | awk 'NR&gt;1 &amp;&amp; $4 !~ \/^(127[.]|[[]::1[]])\/' | wc -l)&quot;;\n        echo &quot;MIG=$(cat \/proc\/sys\/net\/ipv4\/tcp_migrate_req 2&gt;\/dev\/null || echo na)&quot;;\n        echo &quot;RB=$([ -e \/var\/run\/reboot-required ] &amp;&amp; echo 1 || echo 0)&quot;;\n        echo &quot;UID=$(id -u)&quot;;\n        echo &quot;NFT=$(nft list table inet cve_2026_98432 &gt;\/dev\/null 2&gt;&amp;1 &amp;&amp; echo 1 || echo 0)&quot;\n\n    matchers-condition: or\n    matchers:\n      - type: regex\n        name: kernel-affected-public-mptcp-listener\n        part: response\n        regex:\n          - 'verdict=affected;.*;mptcp_listeners_public=[1-9]'\n\n      - type: regex\n        name: kernel-affected\n        part: response\n        regex:\n          - 'verdict=affected;.*;mptcp_listeners_public=0;'\n\n      - type: regex\n        name: kernel-unknown-vendor-backport\n        part: response\n        regex:\n          - 'verdict=unknown;'\n\n    extractors:\n      - type: regex\n        part: response\n        group: 1\n        regex:\n          - '(family=.*)'\n<\/code><\/pre>\n<p>Save it as <code>CVE-2026-98432.yaml<\/code>. Nuclei only runs custom <code>javascript:<\/code> templates that are signed, so sign it once as the user who will run it, then point it at the Linux hosts you administer:<\/p>\n<pre><code class=\"language-bash\">nuclei -sign -t CVE-2026-98432.yaml\nnuclei -t CVE-2026-98432.yaml -l linux-hosts.txt \\\n  -var username=audit -var key=&quot;$(cat ~\/.ssh\/audit_ed25519)&quot;\n<\/code><\/pre>\n<p>A match looks like this:<\/p>\n<pre><code>[CVE-2026-98432:kernel-affected-public-mptcp-listener] [javascript] [critical] 203.0.113.10:22 [&quot;family=debian;kernel=6.1.0-40-amd64;mptcp_enabled=1;mptcp_listeners=2;mptcp_listeners_public=1;migrate_req=0;reboot_required=1;nft_filter=0;reason=Debian 6.1.176: 6.1.176 below 6.1.190&quot;]\n<\/code><\/pre>\n<p>The matcher name is the triage. <code>kernel-affected-public-mptcp-listener<\/code> is an unpatched kernel with an MPTCP listener on a non-loopback address, which is the demonstrated root path: patch it first. <code>kernel-affected<\/code> is unpatched without one: patch it next, not never. <code>kernel-unknown-vendor-backport<\/code> means go read the vendor errata named in <code>reason=<\/code>. <code>reboot_required=1<\/code> on any line usually means the fix is installed and not running.<\/p>\n<h3 id=\"blind-spots-stated-plainly\">Blind spots, stated plainly<\/h3>\n<p>Two, as with every version-based check. First, a version number is a proxy. A custom or livepatched kernel can carry the fix under an old version string (or lack it under a new one), and the Ubuntu table keys on the ABI number, which assumes no earlier upload shared the fixed ABI. Second, silence means &#8220;no finding,&#8221; not &#8220;clean.&#8221; A failed login, a filtered SSH port, or a host that does not run SSH all produce no output, exactly like a patched host. Run one host with <code>-debug<\/code> to confirm the login works before trusting a quiet result across a fleet. And none of this sees appliances, containers&#8217; host kernels, or managed nodes you cannot log in to; for those, the vendor&#8217;s advisory is the only source.<\/p>\n<h2 id=\"detecting-cve-2026-98432-across-your-attack-surface-with-sn1per\">Detecting CVE-2026-98432 across your attack surface with Sn1per<\/h2>\n<p>The servers that will still be vulnerable in three months are not the ones in your patch dashboard. They are the VM someone stood up for a demo, the Caddy reverse proxy in front of a forgotten internal tool, and the Kubernetes node pool nobody reboots because it &#8220;just runs.&#8221; So treat this as a discovery problem before it is a scanning problem: build the list of IPv4 hosts you actually expose, find the ones accepting MPTCP, then verify the kernels you can log in to.<\/p>\n<pre><code class=\"language-bash\"># 1. Discover: subdomains, certificate transparency, DNS, live hosts\nsniper -t example.com -m recon -w cve-98432\n\n# 2. Service pass: open ports plus web technology detection\nsniper -t example.com -m normal -w cve-98432\n\n# 3. Go front ends are the likeliest MPTCP listeners; Caddy announces itself\njq -r 'select(.webserver != null) | select(.webserver | test(&quot;Caddy&quot;; &quot;i&quot;)) | .host + &quot;:&quot; + .port' \\\n  \/usr\/share\/sniper\/loot\/workspace\/cve-98432\/web\/httpx-*.json | sort -u\n\n# 4. Measure MPTCP exposure across everything Sn1per found (connect + close only)\n.\/cve-2026-98432-detect.py --ports 443,80,22 \\\n  -f \/usr\/share\/sniper\/loot\/workspace\/cve-98432\/domains\/targets-all-sorted.txt\n\n# 5. Authenticated kernel verdict on the hosts you administer\nnuclei -t CVE-2026-98432.yaml -l my-linux-hosts.txt -var username=audit -var key=&quot;$(cat ~\/.ssh\/audit_ed25519)&quot;\n<\/code><\/pre>\n<p>Professional and Enterprise users can pull the discovered hosts and findings from the JSON API to build those lists or feed a ticketing system:<\/p>\n<pre><code class=\"language-bash\">curl -sk -H &quot;X-API-Key: $SN1PER_API_KEY&quot; \\\n  &quot;https:\/\/sn1per.local\/pro\/api.php?action=vulnerabilities&amp;workspace=cve-98432&quot; | jq '.'\n<\/code><\/pre>\n<p>One practical note: if a hostname sits behind a CDN or load balancer, the MPTCP probe tests the edge, not your origin. Test origins directly where you can.<\/p>\n<p>There is also a reason to run this yourself rather than upload it somewhere. A list of which of your internet-facing servers run an unpatched kernel with an MPTCP listener is the most valuable document an attacker could have this week. With self-hosted <a href=\"https:\/\/sn1persecurity.com\/wordpress\/external-attack-surface-management-with-sn1per\/\">external attack surface management<\/a>, that list stays on infrastructure you control.<\/p>\n<h2 id=\"which-sn1per-edition-fits\">Which Sn1per edition fits<\/h2>\n<table>\n<thead>\n<tr>\n<th>Capability<\/th>\n<th><a href=\"https:\/\/sn1persecurity.com\/wordpress\/sn1per-community-edition\/\">Community<\/a><\/th>\n<th><a href=\"https:\/\/sn1persecurity.com\/wordpress\/product\/sn1per-professional-2026-license\/\">Professional 2026<\/a><\/th>\n<th><a href=\"https:\/\/sn1persecurity.com\/wordpress\/product\/sn1per-enterprise\/\">Enterprise<\/a><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Recon and live-host discovery<\/td>\n<td>Yes<\/td>\n<td>Yes<\/td>\n<td>Yes<\/td>\n<\/tr>\n<tr>\n<td>Web technology detection (find Go \/ Caddy front ends)<\/td>\n<td>Yes<\/td>\n<td>Yes<\/td>\n<td>Yes<\/td>\n<\/tr>\n<tr>\n<td>Run the CVE-2026-98432 template and exposure script<\/td>\n<td>Yes<\/td>\n<td>Yes<\/td>\n<td>Yes<\/td>\n<\/tr>\n<tr>\n<td>Workspaces and scan history<\/td>\n<td>Basic<\/td>\n<td>Yes<\/td>\n<td>Yes<\/td>\n<\/tr>\n<tr>\n<td>Web UI with asset risk ranking<\/td>\n<td>No<\/td>\n<td>Yes<\/td>\n<td>Yes<\/td>\n<\/tr>\n<tr>\n<td>JSON API for finding export<\/td>\n<td>No<\/td>\n<td>Yes<\/td>\n<td>Yes<\/td>\n<\/tr>\n<tr>\n<td>Scheduled recurring surface sweeps<\/td>\n<td>No<\/td>\n<td>Limited<\/td>\n<td>Yes<\/td>\n<\/tr>\n<tr>\n<td>Multi-user, delegated workspaces<\/td>\n<td>No<\/td>\n<td>No<\/td>\n<td>Yes<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>For a one-off sweep, Community plus the template is enough. The harder problem is keeping it fixed: kernels regress when an image is rebuilt from an old base, a new Go service opens a fresh MPTCP listener, or a node pool is scaled up from a stale AMI. That is the case for <a href=\"https:\/\/sn1persecurity.com\/wordpress\/continuous-attack-surface-testing\/\">continuous attack surface testing<\/a> and for folding the check into <a href=\"https:\/\/sn1persecurity.com\/wordpress\/automated-penetration-testing\/\">automated penetration testing<\/a>, so a regression shows up the week it happens rather than the week someone exploits it.<\/p>\n<h2 id=\"remediation-and-mitigation-for-cve-2026-98432\">Remediation and mitigation for CVE-2026-98432<\/h2>\n<ol>\n<li><strong>Install the fixed kernel and reboot.<\/strong> This is the only complete fix. Confirm afterwards with <code>uname -r<\/code> \/ <code>uname -v<\/code> that the fixed kernel is the one running. On Ubuntu, <code>apt upgrade<\/code> will not deliver the fix until Ubuntu releases it; watch the Ubuntu CVE tracker for a USN, and use the nftables filter below until then.<\/li>\n<li><strong>If you cannot reboot today, drop inbound IPv4 TCP packets that carry IP options.<\/strong> Red Hat&#8217;s RHSB-2026-016 publishes an nftables table (<code>cve_2026_98432<\/code>) that drops TCP packets whose IPv4 header length exceeds five words. Legitimate traffic almost never carries IP options. Red Hat states the filter reduces exposure but cannot fully prevent exploitation, and it does nothing for traffic that reaches the host by a path the rule does not see. Remove it after patching.<\/li>\n<li><strong>Turn MPTCP off where you do not need it, then restart the listeners.<\/strong> <code>sysctl -w net.mptcp.enabled=0<\/code> (persist it in <code>\/etc\/sysctl.d\/<\/code>) stops new MPTCP sockets, but it does not convert existing ones. Any service that already bound an MPTCP listener stays exploitable through it until restarted. Re-run <code>sudo ss -Mlnp<\/code> afterwards and expect no output.<\/li>\n<li><strong>Disable MPTCP in Go services explicitly.<\/strong> Set <code>GODEBUG=multipathtcp=0<\/code> in the service environment, or <code>godebug multipathtcp=0<\/code> in <code>go.mod<\/code> at build time. Code that calls <code>SetMultipathTCP(true)<\/code> overrides both, and the Go team calls per-program disabling fragile: one missed listener leaves the host exposed. Use this to reduce exposure, not as a substitute for the kernel fix.<\/li>\n<li><strong>Keep <code>net.ipv4.tcp_migrate_req=0<\/code><\/strong> (the default) and review any BPF <code>SK_REUSEPORT_SELECT_OR_MIGRATE<\/code> programs; they enable the second race path.<\/li>\n<li><strong>Restrict who can reach your TCP listeners.<\/strong> Admin interfaces, SSH and internal APIs have no business answering the whole internet. Every listener you close is one less way in, for this bug and the next.<\/li>\n<li><strong>Hunt for signs of prior attempts.<\/strong> Look for unexplained kernel oopses or panics mentioning <code>ip_options_build<\/code>, <code>ip_build_and_send_pkt<\/code> or <code>skb_under_panic<\/code>, unexpected reboots on internet-facing hosts since mid-October, and, if you log at the edge, inbound SYNs carrying IPv4 Record Route or Timestamp options, which ordinary clients essentially never send. A failed exploit attempt usually looks like a crash.<\/li>\n<\/ol>\n<h2 id=\"frequently-asked-questions\">Frequently asked questions<\/h2>\n<h3 id=\"what-is-cve-2026-98432_1\">What is CVE-2026-98432?<\/h3>\n<p>CVE-2026-98432 is a use-after-free in the Linux kernel&#8217;s IPv4 TCP handshake code. The kernel frees saved IP options from a completed connection while another CPU can still be using them to send a SYNACK. An unauthenticated remote attacker who wins that race can corrupt kernel memory; the kernel CNA rates it CVSS 9.8, and a remote root exploit has been demonstrated against servers with an MPTCP listener.<\/p>\n<h3 id=\"which-linux-kernel-versions-are-affected-by-cve-2026-98432\">Which Linux kernel versions are affected by CVE-2026-98432?<\/h3>\n<p>Every kernel from Linux 4.4 onward until the fix. Upstream fixed versions are 5.10.272, 5.15.223, 6.1.190, 6.6.159, 6.12.113, 6.18.56, 7.2.10 and 7.3. Debian fixed it in 6.1.190-1 and 6.12.113-1. Ubuntu&#8217;s fixes for 22.04, 24.04, 26.04 and 26.10 were still in progress with no USN on 3 November 2026, and RHEL users should follow RHSB-2026-016.<\/p>\n<h3 id=\"is-cve-2026-98432-being-exploited-in-the-wild\">Is CVE-2026-98432 being exploited in the wild?<\/h3>\n<p>There is no confirmed exploitation and no public remote code execution exploit as of 3 November 2026, and the CVE is not in CISA KEV. Several denial-of-service proofs of concept are public, and since 2 November researcher Marcus Hutchins has reported suspected threat-actor scanning for MPTCP-enabled servers on port 443 from residential proxies and Russia-based VPNs.<\/p>\n<h3 id=\"does-disabling-mptcp-fix-cve-2026-98432\">Does disabling MPTCP fix CVE-2026-98432?<\/h3>\n<p>No. The bug is in ordinary IPv4 TCP code, and Red Hat states MPTCP is not a required condition. Setting <code>net.mptcp.enabled=0<\/code> removes the path where root was demonstrated, but it does not affect sockets that already exist, so services with MPTCP listeners must be restarted. The only fix is a patched kernel and a reboot.<\/p>\n<h3 id=\"how-do-i-check-if-my-server-has-mptcp-listeners\">How do I check if my server has MPTCP listeners?<\/h3>\n<p>Run <code>sudo ss -Mlnp<\/code> to list MPTCP listening sockets and the processes that own them, and <code>sysctl net.mptcp.enabled<\/code> to see whether the kernel allows MPTCP. Go 1.24+ programs open MPTCP listeners by default when the kernel allows it.<\/p>\n<h3 id=\"is-the-cve-2026-98432-nuclei-template-safe-to-run-in-production\">Is the CVE-2026-98432 Nuclei template safe to run in production?<\/h3>\n<p>Yes. It logs in over SSH with credentials you provide and runs read-only commands (<code>uname<\/code>, <code>ss<\/code>, reading <code>\/proc\/sys<\/code> values). It sends no IP options and no crafted packets, and it changes nothing on the host. Only run it against systems you are authorized to log in to.<\/p>\n<h2 id=\"closing\">Closing<\/h2>\n<p>CVE-2026-98432 is a reminder that &#8220;rare configuration&#8221; is a guess, not a measurement. The configuration the exploit needs sounded unusual until two defaults, one in Debian and Ubuntu kernels and one in the Go runtime, put an MPTCP listener on millions of servers without anyone deciding to. The bug underneath does not need MPTCP at all. Patch the kernel, reboot into it, and use MPTCP exposure to decide what goes first, not what gets skipped. Then run the template across every Linux host you administer, and run <a href=\"https:\/\/sn1persecurity.com\/wordpress\/shop\/\">Sn1per<\/a> across the whole surface, because the hosts that matter most this week are the ones nobody remembers deploying.<\/p>\n<p><script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@graph\": [\n    {\n      \"@type\": \"FAQPage\",\n      \"mainEntity\": [\n        {\n          \"@type\": \"Question\",\n          \"name\": \"What is CVE-2026-98432?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"CVE-2026-98432 is a use-after-free in the Linux kernel's IPv4 TCP handshake code. The kernel frees saved IP options from a completed connection while another CPU can still be using them to send a SYNACK. An unauthenticated remote attacker who wins that race can corrupt kernel memory; the kernel CNA rates it CVSS 9.8, and a remote root exploit has been demonstrated against servers with an MPTCP listener.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Which Linux kernel versions are affected by CVE-2026-98432?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Every kernel from Linux 4.4 onward until the fix. Upstream fixed versions are 5.10.272, 5.15.223, 6.1.190, 6.6.159, 6.12.113, 6.18.56, 7.2.10 and 7.3. Debian fixed it in 6.1.190-1 and 6.12.113-1. Ubuntu's fixes for 22.04, 24.04, 26.04 and 26.10 were still in progress with no USN on 3 November 2026, and RHEL users should follow RHSB-2026-016.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Is CVE-2026-98432 being exploited in the wild?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"There is no confirmed exploitation and no public remote code execution exploit as of 3 November 2026, and the CVE is not in CISA KEV. Several denial-of-service proofs of concept are public, and since 2 November researcher Marcus Hutchins has reported suspected threat-actor scanning for MPTCP-enabled servers on port 443 from residential proxies and Russia-based VPNs.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Does disabling MPTCP fix CVE-2026-98432?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"No. The bug is in ordinary IPv4 TCP code, and Red Hat states MPTCP is not a required condition. Setting net.mptcp.enabled=0 removes the path where root was demonstrated, but it does not affect sockets that already exist, so services with MPTCP listeners must be restarted. The only fix is a patched kernel and a reboot.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"How do I check if my server has MPTCP listeners?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Run sudo ss -Mlnp to list MPTCP listening sockets and the processes that own them, and sysctl net.mptcp.enabled to see whether the kernel allows MPTCP. Go 1.24+ programs open MPTCP listeners by default when the kernel allows it.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Is the CVE-2026-98432 Nuclei template safe to run in production?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Yes. It logs in over SSH with credentials you provide and runs read-only commands (uname, ss, reading \/proc\/sys values). It sends no IP options and no crafted packets, and it changes nothing on the host. Only run it against systems you are authorized to log in to.\"\n          }\n        }\n      ]\n    },\n    {\n      \"@type\": \"TechArticle\",\n      \"headline\": \"CVE-2026-98432: Linux Kernel TCP Use-After-Free RCE and MPTCP Exposure - Advisory + Nuclei Detection\",\n      \"description\": \"CVE-2026-98432 is a CVSS 9.8 Linux kernel IPv4 TCP use-after-free with MPTCP scanning underway. Fixed kernels, mitigations and a Nuclei check.\",\n      \"url\": \"https:\/\/sn1persecurity.com\/wordpress\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per\/\",\n      \"author\": {\n        \"@type\": \"Organization\",\n        \"name\": \"Sn1perSecurity LLC\"\n      },\n      \"publisher\": {\n        \"@type\": \"Organization\",\n        \"name\": \"Sn1perSecurity LLC\"\n      },\n      \"about\": [\n        {\n          \"@type\": \"Thing\",\n          \"name\": \"CVE-2026-98432\"\n        },\n        {\n          \"@type\": \"SoftwareApplication\",\n          \"name\": \"Linux kernel\",\n          \"operatingSystem\": \"Linux\",\n          \"applicationCategory\": \"Operating system kernel\"\n        },\n        {\n          \"@type\": \"Thing\",\n          \"name\": \"Multipath TCP (MPTCP)\"\n        }\n      ]\n    }\n  ]\n}\n<\/script><\/p>\n<div id=\"wp-share-button-68066\" class=\"wp-share-button theme28\"><span class=\"total-share \"><i class=\"total-count-text\">Total Share<\/i> <i class=\"total-count\">0<\/i> <\/span><a target=\"_blank\" href=\"https:\/\/www.facebook.com\/sharer\/sharer.php?u=https:\/\/sn1persecurity.com\/wordpress\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per\/\" class=\"share-button share-button-68066 facebook\" id=\"facebook\" data-nonce=\"b047c2a3fd\">\r\n\r\n<span class=\"button-icon\"><\/span>\r\n<span class=\"button-name\">Facebook<\/span>\r\n\r\n<span class=\"button-count\">0<\/span>\r\n\r\n<\/a>\r\n\r\n<a target=\"_blank\" href=\"https:\/\/twitter.com\/intent\/tweet?url=https:\/\/sn1persecurity.com\/wordpress\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per\/&amp;text=CVE-2026-98432:%20Linux%20Kernel%20TCP%20Use-After-Free%20RCE%20and%20MPTCP%20Exposure%20\u2013%20Advisory%20+%20Nuclei%20Detection\" class=\"share-button share-button-68066 twitter\" id=\"twitter\" data-nonce=\"b047c2a3fd\">\r\n\r\n<span class=\"button-icon\"><\/span>\r\n<span class=\"button-name\">Twitter<\/span>\r\n\r\n<span class=\"button-count\">0<\/span>\r\n\r\n<\/a>\r\n\r\n<a target=\"_blank\" href=\"http:\/\/www.reddit.com\/submit?title=CVE-2026-98432:%20Linux%20Kernel%20TCP%20Use-After-Free%20RCE%20and%20MPTCP%20Exposure%20\u2013%20Advisory%20+%20Nuclei%20Detection&amp;url=https:\/\/sn1persecurity.com\/wordpress\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per\/\" class=\"share-button share-button-68066 reddit\" id=\"reddit\" data-nonce=\"b047c2a3fd\">\r\n\r\n<span class=\"button-icon\"><\/span>\r\n<span class=\"button-name\">Reddit<\/span>\r\n\r\n<span class=\"button-count\">0<\/span>\r\n\r\n<\/a>\r\n\r\n<a target=\"_blank\" href=\"https:\/\/www.linkedin.com\/shareArticle?url=https:\/\/sn1persecurity.com\/wordpress\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per\/&amp;title=CVE-2026-98432:%20Linux%20Kernel%20TCP%20Use-After-Free%20RCE%20and%20MPTCP%20Exposure%20\u2013%20Advisory%20+%20Nuclei%20Detection&amp;summary=&amp;source=\" class=\"share-button share-button-68066 linkedin\" id=\"linkedin\" data-nonce=\"b047c2a3fd\">\r\n\r\n<span class=\"button-icon\"><\/span>\r\n<span class=\"button-name\">Linkedin<\/span>\r\n\r\n<span class=\"button-count\">0<\/span>\r\n\r\n<\/a>\r\n\r\n<a title=\"More...\" href=\"#wp-share-button-68066\" class=\"share-button-more\"><span class=\"button-icon\"><i class=\"fa fa-plus\"><\/i><\/span><\/a><div class=\"wp-share-button-popup wp-share-button-popup-68066\"><div class=\"popup-buttons\"><span class=\"close\">X<\/span><a target=\"_blank\" href=\"mailto:?subject=CVE-2026-98432:%20Linux%20Kernel%20TCP%20Use-After-Free%20RCE%20and%20MPTCP%20Exposure%20\u2013%20Advisory%20+%20Nuclei%20Detection&amp;body=https:\/\/sn1persecurity.com\/wordpress\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per\/\" class=\"share-button share-button-68066 email\" id=\"email\">\r\n\r\n<span class=\"button-icon\"><\/span>\r\n<span class=\"button-name\">Email<\/span>\r\n<span class=\"button-count\">0<\/span>\t\t\t\t\r\n\r\n<\/a>\r\n<\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>CVE-2026-98432 is a CVSS 9.8 use-after-free in the Linux kernel&#8217;s IPv4 TCP handshake, present since Linux 4.4. Remote root has been demonstrated against servers with an MPTCP listener, and suspected threat-actor MPTCP scanning began on 2 November 2026. The bug is in plain TCP, so disabling MPTCP is not a fix. Fixed kernels per distribution, mitigations, an authenticated Nuclei template, and how to find exposed hosts with Sn1per.<\/p>\n","protected":false},"author":1,"featured_media":68067,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[290,99,184,289,338,335],"tags":[],"class_list":["post-68066","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-attack-surface-management","category-cves","category-news","category-penetration-testing","category-threat-intelligence","category-vulnerability-scanning"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"CVE-2026-98432 is a CVSS 9.8 Linux kernel IPv4 TCP use-after-free with MPTCP scanning underway. Fixed kernels, mitigations and a Nuclei check.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"xer0dayz\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/sn1persecurity.com\/wordpress\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per\/\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Sn1perSecurity\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"CVE-2026-98432: Linux Kernel TCP RCE Detection | Sn1per\" \/>\n\t\t<meta property=\"og:description\" content=\"CVE-2026-98432 is a CVSS 9.8 Linux kernel IPv4 TCP use-after-free with MPTCP scanning underway. Fixed kernels, mitigations and a Nuclei check.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/sn1persecurity.com\/wordpress\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/sn1persecurity.com\/wordpress\/wp-content\/uploads\/2026\/06\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/sn1persecurity.com\/wordpress\/wp-content\/uploads\/2026\/06\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per.png\" \/>\n\t\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-11-03T22:56:05+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-11-03T22:56:05+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Sn1persecurity-105784611869093\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@sn1persecurity\" \/>\n\t\t<meta name=\"twitter:title\" content=\"CVE-2026-98432: Linux Kernel TCP RCE Detection | Sn1per\" \/>\n\t\t<meta name=\"twitter:description\" content=\"CVE-2026-98432 is a CVSS 9.8 Linux kernel IPv4 TCP use-after-free with MPTCP scanning underway. Fixed kernels, mitigations and a Nuclei check.\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@sn1persecurity\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/sn1persecurity.com\/wordpress\/wp-content\/uploads\/2026\/06\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per.png\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/sn1persecurity.com\\\/wordpress\\\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per\\\/#blogposting\",\"name\":\"CVE-2026-98432: Linux Kernel TCP RCE Detection | Sn1per\",\"headline\":\"CVE-2026-98432: Linux Kernel TCP Use-After-Free RCE and MPTCP Exposure &#8211; Advisory + Nuclei Detection\",\"author\":{\"@id\":\"https:\\\/\\\/sn1persecurity.com\\\/wordpress\\\/author\\\/xer0dayz\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/sn1persecurity.com\\\/wordpress\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/sn1persecurity.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per.png\",\"width\":1200,\"height\":630},\"datePublished\":\"2026-11-03T15:56:05-07:00\",\"dateModified\":\"2026-11-03T15:56:05-07:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/sn1persecurity.com\\\/wordpress\\\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/sn1persecurity.com\\\/wordpress\\\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per\\\/#webpage\"},\"articleSection\":\"Attack Surface Management, CVE's, News, Penetration Testing, Threat Intelligence, Vulnerability Scanning\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/sn1persecurity.com\\\/wordpress\\\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/sn1persecurity.com\\\/wordpress\\\/#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/sn1persecurity.com\\\/wordpress\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/sn1persecurity.com\\\/wordpress\\\/category\\\/cves\\\/#listItem\",\"name\":\"CVE's\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/sn1persecurity.com\\\/wordpress\\\/category\\\/cves\\\/#listItem\",\"position\":2,\"name\":\"CVE's\",\"item\":\"https:\\\/\\\/sn1persecurity.com\\\/wordpress\\\/category\\\/cves\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/sn1persecurity.com\\\/wordpress\\\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per\\\/#listItem\",\"name\":\"CVE-2026-98432: Linux Kernel TCP Use-After-Free RCE and MPTCP Exposure &#8211; Advisory + Nuclei Detection\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/sn1persecurity.com\\\/wordpress\\\/#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/sn1persecurity.com\\\/wordpress\\\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per\\\/#listItem\",\"position\":3,\"name\":\"CVE-2026-98432: Linux Kernel TCP Use-After-Free RCE and MPTCP Exposure &#8211; Advisory + Nuclei Detection\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/sn1persecurity.com\\\/wordpress\\\/category\\\/cves\\\/#listItem\",\"name\":\"CVE's\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/sn1persecurity.com\\\/wordpress\\\/#organization\",\"name\":\"Sn1perSecurity\",\"description\":\"Get an attacker's view of your organization with our all-in-one offensive security platform\",\"url\":\"https:\\\/\\\/sn1persecurity.com\\\/wordpress\\\/\",\"email\":\"support@sn1persecurity.com\",\"foundingDate\":\"2021-10-05\",\"numberOfEmployees\":{\"@type\":\"QuantitativeValue\",\"value\":2},\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/sn1persecurity.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/Sn1perwhiteandcircleicontwitter.jpg\",\"@id\":\"https:\\\/\\\/sn1persecurity.com\\\/wordpress\\\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per\\\/#organizationLogo\",\"width\":500,\"height\":500,\"caption\":\"Sn1perSecurity Logo\"},\"image\":{\"@id\":\"https:\\\/\\\/sn1persecurity.com\\\/wordpress\\\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per\\\/#organizationLogo\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/Sn1persecurity-105784611869093\",\"https:\\\/\\\/x.com\\\/sn1persecurity\",\"https:\\\/\\\/www.instagram.com\\\/sn1persecurity\",\"https:\\\/\\\/www.youtube.com\\\/sn1persecurity\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/sn1persecurity\\\/\",\"https:\\\/\\\/github.com\\\/1N3\\\/Sn1per\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/sn1persecurity.com\\\/wordpress\\\/author\\\/xer0dayz\\\/#author\",\"url\":\"https:\\\/\\\/sn1persecurity.com\\\/wordpress\\\/author\\\/xer0dayz\\\/\",\"name\":\"xer0dayz\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/sn1persecurity.com\\\/wordpress\\\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e5f1a4e7b520f257ee62dcb2a44274bc57e37aa9fe3e3dcd511755464f80f636?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"xer0dayz\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/sn1persecurity.com\\\/wordpress\\\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per\\\/#webpage\",\"url\":\"https:\\\/\\\/sn1persecurity.com\\\/wordpress\\\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per\\\/\",\"name\":\"CVE-2026-98432: Linux Kernel TCP RCE Detection | Sn1per\",\"description\":\"CVE-2026-98432 is a CVSS 9.8 Linux kernel IPv4 TCP use-after-free with MPTCP scanning underway. Fixed kernels, mitigations and a Nuclei check.\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/sn1persecurity.com\\\/wordpress\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/sn1persecurity.com\\\/wordpress\\\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/sn1persecurity.com\\\/wordpress\\\/author\\\/xer0dayz\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/sn1persecurity.com\\\/wordpress\\\/author\\\/xer0dayz\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/sn1persecurity.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per.png\",\"@id\":\"https:\\\/\\\/sn1persecurity.com\\\/wordpress\\\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per\\\/#mainImage\",\"width\":1200,\"height\":630},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/sn1persecurity.com\\\/wordpress\\\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per\\\/#mainImage\"},\"datePublished\":\"2026-11-03T15:56:05-07:00\",\"dateModified\":\"2026-11-03T15:56:05-07:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/sn1persecurity.com\\\/wordpress\\\/#website\",\"url\":\"https:\\\/\\\/sn1persecurity.com\\\/wordpress\\\/\",\"name\":\"Sn1perSecurity\",\"alternateName\":\"Sn1per\",\"description\":\"Get an attacker's view of your organization with our all-in-one offensive security platform\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/sn1persecurity.com\\\/wordpress\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"CVE-2026-98432: Linux Kernel TCP RCE Detection | Sn1per","description":"CVE-2026-98432 is a CVSS 9.8 Linux kernel IPv4 TCP use-after-free with MPTCP scanning underway. Fixed kernels, mitigations and a Nuclei check.","canonical_url":"https:\/\/sn1persecurity.com\/wordpress\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/sn1persecurity.com\/wordpress\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per\/#blogposting","name":"CVE-2026-98432: Linux Kernel TCP RCE Detection | Sn1per","headline":"CVE-2026-98432: Linux Kernel TCP Use-After-Free RCE and MPTCP Exposure &#8211; Advisory + Nuclei Detection","author":{"@id":"https:\/\/sn1persecurity.com\/wordpress\/author\/xer0dayz\/#author"},"publisher":{"@id":"https:\/\/sn1persecurity.com\/wordpress\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/sn1persecurity.com\/wordpress\/wp-content\/uploads\/2026\/06\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per.png","width":1200,"height":630},"datePublished":"2026-11-03T15:56:05-07:00","dateModified":"2026-11-03T15:56:05-07:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/sn1persecurity.com\/wordpress\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per\/#webpage"},"isPartOf":{"@id":"https:\/\/sn1persecurity.com\/wordpress\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per\/#webpage"},"articleSection":"Attack Surface Management, CVE's, News, Penetration Testing, Threat Intelligence, Vulnerability Scanning"},{"@type":"BreadcrumbList","@id":"https:\/\/sn1persecurity.com\/wordpress\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/sn1persecurity.com\/wordpress\/#listItem","position":1,"name":"Home","item":"https:\/\/sn1persecurity.com\/wordpress\/","nextItem":{"@type":"ListItem","@id":"https:\/\/sn1persecurity.com\/wordpress\/category\/cves\/#listItem","name":"CVE's"}},{"@type":"ListItem","@id":"https:\/\/sn1persecurity.com\/wordpress\/category\/cves\/#listItem","position":2,"name":"CVE's","item":"https:\/\/sn1persecurity.com\/wordpress\/category\/cves\/","nextItem":{"@type":"ListItem","@id":"https:\/\/sn1persecurity.com\/wordpress\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per\/#listItem","name":"CVE-2026-98432: Linux Kernel TCP Use-After-Free RCE and MPTCP Exposure &#8211; Advisory + Nuclei Detection"},"previousItem":{"@type":"ListItem","@id":"https:\/\/sn1persecurity.com\/wordpress\/#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/sn1persecurity.com\/wordpress\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per\/#listItem","position":3,"name":"CVE-2026-98432: Linux Kernel TCP Use-After-Free RCE and MPTCP Exposure &#8211; Advisory + Nuclei Detection","previousItem":{"@type":"ListItem","@id":"https:\/\/sn1persecurity.com\/wordpress\/category\/cves\/#listItem","name":"CVE's"}}]},{"@type":"Organization","@id":"https:\/\/sn1persecurity.com\/wordpress\/#organization","name":"Sn1perSecurity","description":"Get an attacker's view of your organization with our all-in-one offensive security platform","url":"https:\/\/sn1persecurity.com\/wordpress\/","email":"support@sn1persecurity.com","foundingDate":"2021-10-05","numberOfEmployees":{"@type":"QuantitativeValue","value":2},"logo":{"@type":"ImageObject","url":"https:\/\/sn1persecurity.com\/wordpress\/wp-content\/uploads\/2022\/06\/Sn1perwhiteandcircleicontwitter.jpg","@id":"https:\/\/sn1persecurity.com\/wordpress\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per\/#organizationLogo","width":500,"height":500,"caption":"Sn1perSecurity Logo"},"image":{"@id":"https:\/\/sn1persecurity.com\/wordpress\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per\/#organizationLogo"},"sameAs":["https:\/\/www.facebook.com\/Sn1persecurity-105784611869093","https:\/\/x.com\/sn1persecurity","https:\/\/www.instagram.com\/sn1persecurity","https:\/\/www.youtube.com\/sn1persecurity","https:\/\/www.linkedin.com\/in\/sn1persecurity\/","https:\/\/github.com\/1N3\/Sn1per"]},{"@type":"Person","@id":"https:\/\/sn1persecurity.com\/wordpress\/author\/xer0dayz\/#author","url":"https:\/\/sn1persecurity.com\/wordpress\/author\/xer0dayz\/","name":"xer0dayz","image":{"@type":"ImageObject","@id":"https:\/\/sn1persecurity.com\/wordpress\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/e5f1a4e7b520f257ee62dcb2a44274bc57e37aa9fe3e3dcd511755464f80f636?s=96&d=mm&r=g","width":96,"height":96,"caption":"xer0dayz"}},{"@type":"WebPage","@id":"https:\/\/sn1persecurity.com\/wordpress\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per\/#webpage","url":"https:\/\/sn1persecurity.com\/wordpress\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per\/","name":"CVE-2026-98432: Linux Kernel TCP RCE Detection | Sn1per","description":"CVE-2026-98432 is a CVSS 9.8 Linux kernel IPv4 TCP use-after-free with MPTCP scanning underway. Fixed kernels, mitigations and a Nuclei check.","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/sn1persecurity.com\/wordpress\/#website"},"breadcrumb":{"@id":"https:\/\/sn1persecurity.com\/wordpress\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per\/#breadcrumblist"},"author":{"@id":"https:\/\/sn1persecurity.com\/wordpress\/author\/xer0dayz\/#author"},"creator":{"@id":"https:\/\/sn1persecurity.com\/wordpress\/author\/xer0dayz\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/sn1persecurity.com\/wordpress\/wp-content\/uploads\/2026\/06\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per.png","@id":"https:\/\/sn1persecurity.com\/wordpress\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per\/#mainImage","width":1200,"height":630},"primaryImageOfPage":{"@id":"https:\/\/sn1persecurity.com\/wordpress\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per\/#mainImage"},"datePublished":"2026-11-03T15:56:05-07:00","dateModified":"2026-11-03T15:56:05-07:00"},{"@type":"WebSite","@id":"https:\/\/sn1persecurity.com\/wordpress\/#website","url":"https:\/\/sn1persecurity.com\/wordpress\/","name":"Sn1perSecurity","alternateName":"Sn1per","description":"Get an attacker's view of your organization with our all-in-one offensive security platform","inLanguage":"en-US","publisher":{"@id":"https:\/\/sn1persecurity.com\/wordpress\/#organization"}}]},"og:locale":"en_US","og:site_name":"Sn1perSecurity","og:type":"article","og:title":"CVE-2026-98432: Linux Kernel TCP RCE Detection | Sn1per","og:description":"CVE-2026-98432 is a CVSS 9.8 Linux kernel IPv4 TCP use-after-free with MPTCP scanning underway. Fixed kernels, mitigations and a Nuclei check.","og:url":"https:\/\/sn1persecurity.com\/wordpress\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per\/","og:image":"https:\/\/sn1persecurity.com\/wordpress\/wp-content\/uploads\/2026\/06\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per.png","og:image:secure_url":"https:\/\/sn1persecurity.com\/wordpress\/wp-content\/uploads\/2026\/06\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per.png","og:image:width":"1200","og:image:height":"630","article:published_time":"2026-11-03T22:56:05+00:00","article:modified_time":"2026-11-03T22:56:05+00:00","article:publisher":"https:\/\/www.facebook.com\/Sn1persecurity-105784611869093","twitter:card":"summary_large_image","twitter:site":"@sn1persecurity","twitter:title":"CVE-2026-98432: Linux Kernel TCP RCE Detection | Sn1per","twitter:description":"CVE-2026-98432 is a CVSS 9.8 Linux kernel IPv4 TCP use-after-free with MPTCP scanning underway. Fixed kernels, mitigations and a Nuclei check.","twitter:creator":"@sn1persecurity","twitter:image":"https:\/\/sn1persecurity.com\/wordpress\/wp-content\/uploads\/2026\/06\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per.png"},"aioseo_meta_data":{"post_id":"68066","title":"CVE-2026-98432: Linux Kernel TCP RCE Detection | Sn1per","description":"CVE-2026-98432 is a CVSS 9.8 Linux kernel IPv4 TCP use-after-free with MPTCP scanning underway. Fixed kernels, mitigations and a Nuclei check.","keywords":null,"keyphrases":{"focus":{"keyphrase":"CVE-2026-98432","score":0,"analysis":[]}},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"featured","og_image_url":"https:\/\/sn1persecurity.com\/wordpress\/wp-content\/uploads\/2026\/06\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per.png","og_image_width":"1200","og_image_height":"630","og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":true,"twitter_card":"summary_large_image","twitter_image_type":"featured","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"BlogPosting","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2026-11-03 22:56:05","updated":"2026-11-03 22:57:41","seo_analyzer_scan_date":null,"focus_keyword":"CVE-2026-98432","additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/sn1persecurity.com\/wordpress\/\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/sn1persecurity.com\/wordpress\/category\/cves\/\" title=\"CVE&apos;s\">CVE's<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tCVE-2026-98432: Linux Kernel TCP Use-After-Free RCE and MPTCP Exposure \u2013 Advisory + Nuclei Detection\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/sn1persecurity.com\/wordpress\/"},{"label":"CVE's","link":"https:\/\/sn1persecurity.com\/wordpress\/category\/cves\/"},{"label":"CVE-2026-98432: Linux Kernel TCP Use-After-Free RCE and MPTCP Exposure &#8211; Advisory + Nuclei Detection","link":"https:\/\/sn1persecurity.com\/wordpress\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per\/"}],"jetpack_shortlink":"https:\/\/wp.me\/pdnW96-hHQ","jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"jetpack-related-posts":[],"jetpack_featured_media_url":"https:\/\/sn1persecurity.com\/wordpress\/wp-content\/uploads\/2026\/06\/cve-2026-98432-linux-kernel-tcp-rce-detection-with-sn1per.png","_links":{"self":[{"href":"https:\/\/sn1persecurity.com\/wordpress\/wp-json\/wp\/v2\/posts\/68066","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sn1persecurity.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sn1persecurity.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sn1persecurity.com\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sn1persecurity.com\/wordpress\/wp-json\/wp\/v2\/comments?post=68066"}],"version-history":[{"count":0,"href":"https:\/\/sn1persecurity.com\/wordpress\/wp-json\/wp\/v2\/posts\/68066\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sn1persecurity.com\/wordpress\/wp-json\/wp\/v2\/media\/68067"}],"wp:attachment":[{"href":"https:\/\/sn1persecurity.com\/wordpress\/wp-json\/wp\/v2\/media?parent=68066"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sn1persecurity.com\/wordpress\/wp-json\/wp\/v2\/categories?post=68066"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sn1persecurity.com\/wordpress\/wp-json\/wp\/v2\/tags?post=68066"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}