TCP Use-After-Free: CVE-2026-98432 / CVSS 9.8
303 points by oger 6 hours ago | 145 comments

asveikau 2 hours ago
> TCP Use-After-Free: CVE-2026-98432 / CVSS 9.8

I know it's customary for HN to edit titles to remove extraneous information, but removing "Linux" here really takes away something useful and relevant. This is a Linux vulnerability. If you're running *BSD or Mac or Windows, not affected.

reply
tcdent 2 hours ago
"TCP stack" versus "Linux TCP stack" is an OOM in terms of relevance.
reply
arcanemachiner 37 minutes ago
Out of memory?! That's terrible!
reply
peanut-walrus 5 hours ago
Some notes I've got about this:

- MPTCP is not a requirement, it is a generic use-after-free.

- Exploitability over the internet is unlikely, most ISP routers drop packets with IP options fields.

- At least according to Red Hat, dropping packets with IP options yourself helps, but is not a full mitigation.

- Successful exploit requires multiple CPU cores to process packets, so systems with just a single core or packet processing pinned to a single core are not affected.

reply
pigggg 14 minutes ago
Tragically not enough people drop IP options. I did it in the early 2000s for a very large US network and was glad. There's lots of obvious reasons as they're generally an old school ddos path to knock out routers (get punted to the RE/RP exception path, a good way to bypass some loopback/routing engine acls if folks don't filter it right). Every few years some academics pop up with let's use IP options because we can stuff more bullshit in the datagram - it's always a bad idea.
reply
wahern 5 hours ago
> Exploitability over the internet is unlikely, most ISP routers drop packets with ipoptions fields.

That doesn't track. Apple iPhones are a major user of MPTCP and they report the majority of requests supporting MPTCP, IIRC 70+%.

reply
peanut-walrus 5 hours ago
MPTCP uses TCP options fields, the vulnerability is in IP options.
reply
tptacek 4 hours ago
Dropping packets with IP options from XDP should be a more complete mitigation (also more performant).
reply
lossolo 3 hours ago
And it takes around an hour to do this in lab setting locally:

> An enabling property of this race condition is that a lost race only fails the handshake without crashing the whole system, so a determined attacker can retry indefinitely until they succeed. In our proof of concept, it takes 48 minutes to leak a kernel pointer and another five minutes to reach the shell command execution

source: https://www.anthropic.com/research/discovering-vulnerabiliti...

reply
swinglock 5 hours ago
How are Ubuntu and RHEL not fixed? Few operating systems market themselves more as suitable for servers. What are they doing over there?
reply
kev009 4 hours ago
If you read commit logs of, say kernel.org and a distro kernel, and aren't concerned you are blissfully ignorant (and it is worse for the broader userland repos). It's particularly bad when they don't track a kernel.org LTS. Their kernel orgs are pretty lean and this has been the status quo for decades. CVEs of sufficient stature like this will get fixed but majority of other issues slip by unnoticed. LTS is kind of a myth, it trades ABI and API stability for a lot of other issues.
reply
SwellJoe 2 hours ago
"Their kernel orgs are pretty lean"

For years, Red Hat employed more kernel developers than anyone and contributed more. These days they're "only" the fourth largest contributor, after Intel, Google, and Meta, but they are still among the largest corporate contributors.

If that's a lean kernel org, I don't know what a fat one would look like.

reply
kev009 43 minutes ago
My hearsay, from friends and colleagues that work(ed) there, is that the shipped product is not really where you see these "heavy hitters".. a lot of the maintenance happens offshore.
reply
radlad 2 hours ago
Unfortunately, as a ZFS on Linux user, LTS is the best way to get continual updates without breaking my system.
reply
Gigachad 59 minutes ago
Probably best to not leave any ZFS system connected to the internet then.
reply
icedchai 3 hours ago
Over the past few months I've started to install newer ubuntu kernels using the mainline PPA. However, it goes long periods of time without getting updates, so it's not really a satisfactory solution. In one case I just built the kernel myself.

LTS doesn't work if you want immediate fixes like the current environment requires.

reply
gadtfly 4 hours ago
Given the current and rapidly upcoming environment, would that not imply that those are no longer viable choices? As like a fairly urgent emergency consideration?

If they cannot demonstate being systematically able to adapt towards the required reaction time (minutes? hours?) by almost-comically many orders of magnitude (multiple weeks), and it is only going to get worse, then what other conclusion could there be?

Like they'll only organizationally adapt when it's far too late (everybody using their shit has already been pwned), and then it'll be an unpracticed emergency adaptation.

reply
kqgnkqgn 2 hours ago
It seems particularly crazy for Ubuntu given that Debian released their fix something like a couple weeks ago.
reply
throw0101d 4 hours ago
> How are Ubuntu and RHEL not fixed?

Ubuntu has had kernels in the "proposed" component for several days now if you want to pull it in manually. Not yet pushed to "security" or "updates".

reply
1over137 3 hours ago
Is there an RTFM for 'pull it manually'?
reply
pas 2 hours ago
enable the proposed repo (and pin it to a lower priority) and install the package explicitly

https://ubuntu.com/project/docs/SRU/reference/sru-verificati...

or download the individual package (and dpkg --install ... but this doesn't check signatures)

https://ubuntu.pkgs.org/26.04/ubuntu-proposed-main-amd64/lin...

check https://ubuntu.com/security/CVE-2026-98432

reply
xorcist 49 minutes ago
It's one of two things: Either they have found some regression with enterprise customers, or they are not happy with the fix.

RHEL runs with MP-TCP disabled by default, they initially listed it as Important only to later raise it to Critical.

reply
Shank 5 hours ago
I’m pretty confused because apparently Anthropic is the group that followed “responsible disclosure” but apparently even though upstream was patched a couple weeks ago, still nothing on either.
reply
1over137 2 hours ago
>How are Ubuntu and RHEL not fixed?

IMNSHO this makes them unfit for purpose. I think this is the nail in the coffin for Ubuntu for me.

reply
tln 2 hours ago
It's not a good look.

I pulled in from -proposed this time.

Ubuntu was slow on the brotli / CVE-2026-111497 updates as well.

reply
roygbiv2 2 hours ago
What would you suggest for enterprise use of Linux if RHEL is no longer fit for purpose?
reply
Flockster 5 hours ago
Going by the proxmox forum the fix is already in the sources (proxmox released their kernel based on them a few days ago). But I could not see, if it is already released for the users.

https://forum.proxmox.com/threads/cve-2026-98432-in-proxmox-...

reply
tlamponi 4 hours ago
Yes, we (Proxmox) included the fix for this in 7.0.14-25, which was initially packaged two weeks ago.

It went through internal QA and to the test soon after that, then a few days later to the no-subscription repository and as of yesterday morning CET it was cleared for the enterprise one, so it's available on all repos of all Products we got in their current supported releases.

For kernel updates we where even more conservative in the past, but with the current churn on often quite relevant fixes picked up the pace a bit on moving them along, trying still to balance rolling out fixes fast(er) while not doing that so fast that tricky (hardware/setup specific) regressions don't get caught.

edit: As this makes the rounds we also released a PSA for it now [0] to make our status here easier to find.

[0]: https://forum.proxmox.com/threads/proxmox-virtual-environmen...

reply
lakeviewterrace 5 hours ago
Running regression tests I assume; they can't just YOLO shit like most OSS projects for the exact reason you mention.
reply
1over137 3 hours ago
It could be that it is more YOLO not patching this ASAP. Maybe better to risk some regressions.
reply
swinglock 5 hours ago
For a month?
reply
teekert 3 hours ago
I've been compiling a list of cybersecurity RSS feeds to build a small automation (with oversight from Hermes agent) to ping me (ntfy.sh or just Telegram) when a CVE requires my intervention (matching them to a list of services I run for clients and myself.)

My list (of feeds) is still small, but this CVE did not show up, do any of you have any tips for RSS feeds to use for this purpose?

reply
hostyle 3 hours ago
https://pwn.watch/ has an RSS feed available
reply
avtar 2 hours ago
The openwall oss-security list usually covers a decent number of issues and this CVE was mentioned there yesterday:

https://www.openwall.com/lists/oss-security/

reply
CubsFan1060 3 hours ago
Any chance you’d mind sharing your list?
reply
grey-area 5 hours ago
reply
codegeek 4 hours ago
Interestingly, Ubuntu Priority is set to "High" and not "Critical" which is defined as:

"A significant problem, typically exploitable for nearly all users in a default installation of Ubuntu. Includes serious remote denial of service, local root privilege escalations, local data theft, and data loss."

reply
lowdude 57 minutes ago
Makes you wonder what the critical level is for
reply
AdamGibbins 36 minutes ago
Remote RCE/data theft basically, as opposed to the local of High: https://ubuntu.com/security/cves/about#priority
reply
lowdude 2 minutes ago
Ah, I misread the first comment and thought it said remote execution, not remote denial
reply
throw0101d 4 hours ago
> https://ubuntu.com/security/CVE-2026-98432

The listed kernels are in the "proposed" component (and not yet in "security" or "udpates") if you want to pull them down onto canary systems for testing before going to production.

reply
AdrianCX 5 hours ago
so just block multipath and add the firewall rule from article that drops packets with IPv4 options
reply
stefangordon 4 hours ago
Both of which we are finding out are apparently insufficient to mitigate this.
reply
grey-area 5 hours ago
Hoping fix will be out soon so we don’t have to.
reply
9cb14c1ec0 2 hours ago
I suppose I'm not the only one feeling worn out by this tidal wave of vulnerabilities that I somehow have to keep up to?
reply
nikanj 2 hours ago
The good news is, if you emergency patched your Debian for php2shell, you probably got the new kernel on the same apt run. This time the embargo actually held, and the new kernel was out before the CVE came public
reply
Gigachad 60 minutes ago
The only way to survive is to just update everything daily or faster.

At work we currently have a weekly release schedule but im going to push to speed it up because 1 week is far too long to leave packages out of date.

reply
fergonco 35 minutes ago
Then you get exposed to a supply chain attack.
reply
rvz 11 minutes ago
Nope. This was just the start.
reply
Shank 5 hours ago
At least if you’re on Amazon Web Services behind a load balancer you probably aren’t really that impacted enough to spend Halloween patching.

> AWS Web Application Firewall, Application Load Balancer, Classic Load Balancer, TLS Listeners on Network Load Balancer, Cloud Front, API Gateway

> Customers using the above services do not receive TCP connections from untrusted sources directly when following best practices. AWS is applying updates to the underlying infrastructure of these services and no immediate customer action is required if you are using these services. We still recommend customers update their self-managed instances behind these services within the next 30 days.

[0]: https://aws.amazon.com/security/security-bulletins/2026-160-...

reply
gwbas1c 5 hours ago
I'm more worried about my consumer-grade router.
reply
wtch98 4 hours ago
I blocked packets arriving externally on my firewall with ip-options a couple of days ago. Firewall rule has zero hits, and I've got a very open ISP (andrews+arnold), if I want I can host SMTP, DNS, whatever
reply
mlcrypto 3 hours ago
The timeline says the CVE was reported over 2 weeks ago, so why are the alarms sounding now?
reply
lysace 3 hours ago
Note: AWS NLB doesn't terminate TCP for TCP listeners.

It would be great if they introduced mitigations for this vulnerability though.

reply
sebmellen 5 hours ago
Another reason hyperscaler cloud providers will continue to grow (IMO)!
reply
TuxPowered 3 hours ago
My FreeBSD loadbalancers block packets with IP Options with default config. It’s not rocket science, no matter how Cloud providers are trying to tell us.
reply
exyi 3 hours ago
My VPS was auto-updated and restarted more than 14 days ago. The logs have rolled already. Probably October 12 early morning.

Another reason NixOS will continue to grow :)

reply
mikeweiss 2 hours ago
Unless they themselves (underlying services) get hacked...
reply
gadtfly 5 hours ago
Everything talks about this in terms of servers, but what about desktop Linux in typical setups? Consumer modems and routers? IoT junk?
reply
rwmj 4 hours ago
IoT devices will get fixes delivered on the 12th of never.
reply
gadtfly 4 hours ago
But are they exploitably vulnerable to this specifically in typical setups?
reply
rwmj 4 hours ago
To be fair probably not as many will be single core and this requires multi-core. As for the thousands of other CVEs though ...
reply
telebub 2 hours ago
Dual or quad core is not that unusual even in very cheap SoCs, but this particular CVE needs a kernel line from this decade. Thousands of other CVEs indeed..
reply
RedShift1 4 hours ago
The security fixed will be installed next tuesday.
reply
eterm 4 hours ago
You should assume your IoT junk is already compromised, that's why your IoT junk runs on a dedicated VLAN.
reply
basilikum 4 hours ago
What kernel is the router managing these VLANs running?
reply
Leonard_of_Q 3 hours ago
An updated one 'cause you're running a virtual router in a container or VM which gets all the updates your server(s) get.
reply
gadtfly 4 hours ago
Desktop Linux in typical setups? Consumer modems and routers?
reply
ndriscoll 4 hours ago
[dead]
reply
winwang 4 hours ago
It's okay guys, the authors simply don't know how to write good C. A real C programmer would not have shipped such a basic use-after-free bug. Rust is just a crutch.
reply
veltas 32 minutes ago
Counterpoint, more than memory bugs exist, and everything's written in C. You're welcome to rewrite in Rust but you'll create countless bugs that aren't memory bugs that mostly already got fixed in the C version. I can't help but think things like fil-C are the most pragmatic route, despite performance costs, for most people relying on programs written in C.
reply
herni 7 minutes ago
This is a dumb argument imo. Critical vulnerabilities are mostly due to memory bugs (and not for a lack of other kinds of bugs). Most people relying on programs written in C (or even C++) should consider plans for migrating to software created with toolchains from this century. You cannot indefinitely carry on this tech debt.
reply
TOMDM 3 hours ago
With all the "Claude rewrote X in rust!" posts lately, I'm waiting on the inevitable Linux kernel rewrite post.

Vibe code aside I feel targeted rewrites are becoming more and more justified.

reply
Gigachad 54 minutes ago
I wouldn’t be surprised if we start seeing individual drivers and subsystems move over.

The Linux maintainers have been extremely conservative with the Rust introduction but after the endless CVE apocalypse they might be more receptive.

reply
kaoD 14 minutes ago
What does this enable an attacker to do exactly? RCE? DoS? Unknown?
reply
mrob 5 hours ago
>the kernel handed those saved options from the request socket to the new connection without copying them, then freed them immediately when the connection went away, while another CPU could still be reading them to build a handshake reply.

If this requires a multi-core system to exploit, it's good news for most of the consumer routers that will never get updates. Saved by cheap single-core hardware.

reply
microtonal 5 hours ago
You would be surprised. A lot of cheap consumer routers are have two or four ARM cores. The bigger issue is that they are typically running a kernel from the stone age (< 6.0.0). Sometimes a still-supported LTS kernel like 5.10 or 5.15, but then they stopped at an old patch level.

Heck, apparently even the new Unifi UCG Fiber is running 5.4.213 (September 2022), but maybe they backport some fixes?

[1] https://community.ui.com/releases/dd0283dc-bf71-4140-ae1d-c1...

reply
FredFS456 3 hours ago
Note that even the latest OpenWRT is vulnerable to this, I'm running OpenWRT 25.12.6 and the kernel version is 6.12.112
reply
dist-epoch 5 hours ago
Those routers probably have 20 other critical un-patched exploits ...

An entire ecosystem of malware crawling and cohabiting in them.

reply
marcosscriven 5 hours ago
Can anyone explain how use after free results in a practical exploit?

I ask because I’ve been dabbling in rooting various closed devices at home. I’m finding AI fantastic at finding vulnerabilities statically (from firmware upgrade binaries), but when you then ask it to use it to get root or code execution it just goes in circles.

In the end it usually ends up there’s no exploit it can find, because it can’t actually influence the affected memory in a useful way. This is especially so if that memory is in the heap. On the stack it’s a lot more predictable (especially with OOB writes).

reply
not_a_bijection 4 hours ago
You need to do some https://en.wikipedia.org/wiki/Heap_feng_shui. If you can reasonably reliably trigger some other operation that allocated the freed memory for another purpose, you have something like a type confusion vulnerability.
reply
kstrauser 5 hours ago
One example is that you might be able to read what was written there. Here that may mean you could read another process’s packet(s). Imagine they were sending unencrypted passwords, perhaps because it’s in a trusted LAN connection.
reply
fguerraz 4 hours ago
If it’s freed it can be reallocated, so then you have pointers to the same area of memory used for completely different data structures, and this can go very wrong
reply
marcosscriven 4 hours ago
I get the principle - what I struggle to find is concrete examples of how it can practically be used.

How do you know which pointer (as I say, especially if it’s in the heap)? And I know it can go wrong - but how do you do more than just crash the kernel?

In OOB writes in a stack variable it’s completely clear to me. For other situations I’d love to find real and clearly explained exploits of past UAF or OOB vulnerabilities.

reply
cowlevel 4 hours ago
Getting the right thing allocated in the right place to exploit a UAF is usually very very tricky. For a defender we just need to know it's probably possible and therefore we patch the bug, but the attacker still has a difficult job to do even already knowing a UAF bug.

The simplest thing you could try to do is allocate several more of the same type of object and hope one of them lands at the same memory address. For example if you can UAF a web app's user session and keep it open for a long time period (not true in the TCP bug), you might try to wait until an admin happens to log in with their session at the same address, then use their admin session.

Or you can allocate a lot of something else objects and hope a certain field overlaps, like a function pointer if you can write to it. Like suppose you can get some kind of authentication callback pointer to overlap where your packet sequence number was, maybe you can send a certain number of packets to make it point to the return instruction and skip the authentication.

reply
shrx 2 hours ago
Maybe check https://github.com/sarabpal-dev/IonStack-S22U It has a full chain reproduction of the use-after-free vulnerability that grants you root on Samsung phones with a locked bootloader.
reply
tetha 2 hours ago
I don't think a UAF on its own allows control hijacking in an exploit. You will need further logic bugs or the ability to legitimately or illegitimately control memory, either via further requests / function calls, OOB writes and such. And it will always be extremely specific to the application vulnerable.

For example, I remember an exploit workshop around reuse of passwd entries. The vulnerable would validate a passwd entry for a non-root user, use it a bit, and later on free and zero it out for security purposes... except it then looked at the passwd entry again in some conditions. Suddenly, the uid was non-zero at first, and zero later on, so later decisions assumed the user was root.

In a more concurrent situation, a possible vulnerability was a shared cache of these passwd entries. It wouldn't zero them out anymore, but you could create a race condition of starting requests as user A, and then hammering requests as user B, so you'd end up mixing up the permission contexts of these users. Because the passwd entry that had been released back to the pool was overwritten, and then re-read with the value from another context.

The necessary line of thinking tends to be very different from thinking about program code regularly.

reply
wiml 4 hours ago
A web search for "exploit chain uaf" found me a few real-world and a few tutorial examples, though I don't know which are good.

At a high level, though: once you've gotten a new object allocated where the old one was, you now have two different views of the same bit of memory. You use valid operations on one view to put the other one into a corrupted state. For example: in a unixlike kernel, maybe one view has a field containing a function pointer (for method dispatch, essentially). You read that field using the other view, use it to deduce something about the target's memory layout, write a new value to the pointer, then use the field via the first view to cause execution to jump to a location you control.

reply
lossolo 3 hours ago
It goes around in circles because a UAF alone isn't enough in a lot of cases, sometimes you also need a chain (an info leak, read/write primitive etc), a way to defeat ASLR and so on depending on what you are working on and target mitigations. Not all UAFs can be used for RCEs, some can be used only for DoS or for nothing really.
reply
strawberryfarm 3 hours ago
been doing exactly this lately with camera firmware and yeah the circles thing is real, but im pretty sure its a feedback loop problem, not a model problem

the model spins because it cant test its own guesses. what fixed it for me was emulating the actual device. qemu with the vendor rootfs, real binaries running, and then every claim becomes checkable: did the daemon actually parse my input, which uid is it under, what does its own log say. once it can check things it stops guessing, getting qemu to actually boot the thing was its own little hell though, took more tries than i want to admit.

the other thing i learned the hard way: most static findings die on reachability, not on exploit primitives. so i run them in the emulator first and kill the unreachable ones cheap, before spending any time on heap work

on heap vs stack, i think that intuition is desktop shaped. device userland usually has weak or no mitigations, heap uafs are way more tractable there than youd expect

reply
foltik 2 hours ago
If you really learned anything you should post your own thoughts, not whatever this lowercased Claudish is.
reply
marcosscriven 2 hours ago
Oh yes definitely seen the reachability problem!

Good ideas on the QEMU. I guess you’d have to patch the binary if it’s expecting particular hardware etc?

Not sure what you mean by “desktop shaped”?

Can you give a concrete example of UAF on heap? I’m learning a bit on how this is done, and eventually recognised the LLM is doing something called heap spray. But that seemed to rely on hoping some object you wrote just happened to get interpreted by some process. And that was the “no, wait, pointer f isn’t y” loops.

reply
strawberryfarm 2 hours ago
[flagged]
reply
wiskinator 5 hours ago
> Anthropic says Claude wrote the exploit "after initial prompting," that it runs "arbitrary commands as root, without any credentials or user interaction" on servers with a multipath TCP listener, and that in its proof of concept "it takes 48 minutes to leak a kernel pointer and another five minutes to reach the shell command execution."

This is wild. I'm a firmware nerd, not a backend nerd, what percentage of TCP/IP servers are 'multipath'?

Also, since IPv6 isn't affected, wouldn't it be funny if this is what it took to get everyone to switch.

reply
cataflam 5 hours ago
> what percentage of TCP/IP servers are 'multipath'?

no idea, but at least Tailscale and Caddy were opening MPTCP sockets on servers I checked.

reply
dist-epoch 5 hours ago
My understanding is that an app explicitly needs to open a "multipath" socket. Go 1.24 does that by default, so does Caddy, these would be the big ones.
reply
grey-area 5 hours ago
Your understanding seems to be wrong.

Every Ubuntu version in the last decade is currently vulnerable.

https://ubuntu.com/security/CVE-2026-98432

Patches not yet available. That makes this a big deal.

This article says that this isn’t app level but is level and can be exploited before requests reach apps.

reply
dist-epoch 5 hours ago
> on servers with a multipath TCP listener

I was talking about the Anthropic blog post, only Go/Caddy enable multipath TCP listeners by default.

reply
grey-area 5 hours ago
Well somebody is wrong, this blog post says:

Why it's urgent: the bug sits in code every Linux server runs when it accepts an IPv4 TCP connection, before any application sees the connection.

It reads like it was LLM generated though so who knows. There is at least a simple mitigation for Golang apps if that is the only concern.

reply
dist-epoch 5 hours ago
Both are correct :)

Anthropic only exploited multipath TCP, but the bug is deeper and also affects TCP connections, but it looks like this path is harder to exploit, and it's unclear if anybody managed to.

reply
grey-area 5 hours ago
Thanks. Expanding exploits is something LLMs seem pretty good at so I’d expect people to manage a more general exploit soon if not already. Hopefully it’ll be patched before that happens.
reply
lakeviewterrace 5 hours ago
Is OpenWRT affected? Because that would be a real fawkin problem.
reply
ronnier 5 hours ago
As much as I hate to link to this site, this particular sub is very good:

https://www.reddit.com/r/openwrt/comments/1xka85h/is_the_ope...

They say 25.12-SNAPSHOT has it fixed

reply
lunar_rover 4 hours ago
OpenWrt doesn't open ports by default so I think the impact is minimal, unless this can breach nftables as well. CGNAT also mitigates this as a side effect.

If you have services open on the IPv4 net however, close them immediately as a precaution.

reply
basilikum 4 hours ago
How do you plan on reopening them again after you've closed 443 and 22?
reply
pamcake 40 minutes ago
Admin interfaces should never have been exposed publicly in the first place (and aren't by default). Remote admin over wireguard or sth.
reply
flaburgan 3 hours ago
Use IPv6
reply
nektro 2 hours ago
god this page could hardly be more ai generated if it tried

actual link: https://nvd.nist.gov/vuln/detail/cve-2026-98432

reply
jeffbee 19 minutes ago
There are microkernel operating systems out there that run the network stack in isolated, unprivileged contexts. Some of them are even not written in C.
reply
geye1234 4 hours ago
My home firewall runs Ubuntu. It doesn't accept (new) incoming packets from the internet. I don't have any IoT devices except printers, whose packets the firewall rejects, and has done since I bought them. Do I need to do anything apart from wait for the patch to become available?
reply
nikanj 31 minutes ago
How does your internet work, if the firewall doesn't accept incoming packets?
reply
bana-io 4 hours ago
Without a test-case, read POC, how do I verify if my server is affected?
reply
theteapot 5 hours ago
What is a "multipath TCP listener"?
reply
jacquesm 5 hours ago
A listener is a piece of software that advertises itself as available to inbound connections. You can do this on a variety of protocols.

Multipath TCP is a neat trick that allows a single TCP connection (TCP = Transport Control Protocol, a stateless protocol for long running connections) to use multiple physical interfaces. You could do something similar before MTCP using bonding, but this was annoying to set up and usually required application level code to efficiently use the bonded connection. MTCP makes this much simpler from an application level point of view and it can use widely diverse underlying transport layers at the same time (for instance, WiFi, Cellular and wired connections).

reply
wahern 5 hours ago
See https://en.wikipedia.org/wiki/Multipath_TCP

It's an extension to TCP that, similar to QUIC, allows you to use multiple address/port pairs to transmit data over a single logical stream. Both client/initiator and server/listener have to opt into the extension. This might need to be enabled explicitly by the application[1], which Go apparently does for you, or judging from other posts may be enabled by default systemwide, depending on your platform.

AFAIU, a major user of MPTCP is Apple and the iPhone, and the ubiquity of iPhone clients motivated implementation in and deployment on Linux servers.

[1] https://docs.kernel.org/networking/mptcp.html#sockets-api

reply
Noxwizard 5 hours ago
I had to look it up too since I hadn't heard of it. It's an extension to TCP that allows responses across different NICs. Sort of like Link Aggregation on to a switch, except it can go out dissimilar interfaces, like your wifi connection and your hardwired connection. Looks like you have to opt into it when you set up your socket: https://docs.kernel.org/networking/mptcp.html
reply
dist-epoch 5 hours ago
You have a Wifi network interface and a wired Ethernet one, multipath is somehow combining the two together.
reply
sweetjuly 5 hours ago
In addition to aggregating, it can also be useful in cases where one link is much slower or higher latency. For example, if you're sitting in your driveway trying to get directions in maps while your phone is still on your very weak wifi network, it's a better user experience to have it to attempt the request using both radios concurrently so that it can fallback to cellular without waiting for a timeout/connection error if you're too far for wifi to actually work well.
reply
cowlevel 4 hours ago
Do apps actually use this possibility though?
reply
frunzales 2 hours ago
If you run a custom kernel chances are you're not affected:

# CONFIG_MPTCP is not set

reply
daemonologist 5 hours ago
reply
lakeviewterrace 4 hours ago
The linked source spun up my fans with 100% GPU utilization. Is there some... unwelcome... script running?
reply
api 5 hours ago
2027 is going to be the year of two to three major CVEs per day.

The discourse on this is weird, sounds at times as if these are “because of AI.” These are mostly pre-existing bugs, some very old, and they’ve been lurking. If they all get found we exit the other side more secure and reliable.

reply
wry_xy 3 hours ago
I went on a security kick early this year, locking down everything as much as I could. Build your systems with the assumption that you WILL get hacked. Limit blast radius. Be prepared.

The next few years will be crazy, but you're right, we'll come out the other side more secure than ever before. Just gotta make it that far!

reply
jijijijij 2 hours ago
Will be interesting to see, if AI will cause an increased demand for sysadmins. Not sure companies will go "Make no mistakes" on their (production) infrastructure.
reply
jstanley 3 hours ago
> If they all get found we exit the other side more secure and reliable.

I agree, but as yet we have no idea how much pain we have to pass through to get to the other side.

reply
Gigachad 3 hours ago
On the other side we have a Linux networking stack written in Rust.
reply
0xbadcafebee 2 hours ago
The most terrifying part of this is all the devices that might be affected. Ignore servers and desktops. Linux 4.4 came out nearly 11 years ago. While most Linux devices' firmware is actually more ancient than that (Linux 2.x and 3.x isn't uncommon), any device that did ship with Linux 4.4+ is going to get hacked, because nobody patches those devices. Any smart device in the world that isn't a server, desktop, or microcontroller, is probably running Linux.

As part of the Software Building Code (that we don't have, and desperately need), one of the things we should have is mitigation for these abandoned internet safety risks. Here's how I would define that section:

  Section 4    Connections to Public Internet
  Section 4.1  Device Support
    Devices connected to the public internet WILL require one of the following:
      a) Guaranteed LTS support for a minimum of 10 years
      b) Guaranteed rolling release support for a minimum of 10 years
    Devices without this support are not permitted to be connected to the public internet.
  Section 4.2  Vendor Responsibility
    When releasing devices, vendors must determine whether this device is certified for
    public internet use. Support must be maintained according to S4.1. Failure to comply will
    result in fines of up to $5,000 per affected device.
  Section 4.3  Installer Responsibility
    Any device connected to the public internet which is not certified for public internet
    use is in violation, and will be subject to fines of up to $500 per affected device.
  Section 4.4  Device Owner Responsibility
    Any installed devices will be replaced once they reach their End Of Life period,
    or after 10 years, whichever comes first. Installed devices in use that exceed this
    period are in violation, and subject to fines of up to $250 per affected device.
(These fines are tiny compared to the fines for things like fire code violations, but enough money that a company, contractor, or individual would rather fix their device than pay the fines)
reply
oger 6 hours ago
MikroTik routers seem affected but mitigations are available.

Watch your Linux systems for kernel updates. Reboot!

reply
tgv 5 hours ago
If you use sysctl to disable mptcp, you need to do that again after each reboot.
reply
jmclnx 5 hours ago
If I am reading this right, Slackware 15.0 is already fixed:

     % uname -a
     Linux XXXX 5.15.223 #1 SMP PREEMPT Thu Oct 22 00:03:07 CDT 2026
     x86_64 Intel(R) Core(TM) i7-4810MQ CPU @ 2.80GHz GenuineIntel GNU/Linux
reply
cyberpunk 3 hours ago
You’re still on slackware? I’ve not thought about it in years! How’re things over there?
reply
tosti 3 hours ago
It works mostly fine, pretty easy to work with, might perform well when you're sleeping / not around, packages are old (not neccesarily a bad thing). The default kernel is vintage 5.15, so just compile your own. Also elilo really sucks so bring your own bootloader while you're at it.
reply
voidfunc 5 hours ago
Oh joy.
reply
jonathanstrange 3 hours ago
I tried to find a mitigation using a ufw filter that rejects IPv4 packets with too large headers but it didn't work. It broke something essential and I had to switch it off again. I'd be interested in hearing about a temporary mitigation using firewall rules.
reply
dofm 3 hours ago
[06:00]
reply
ogogmad 5 hours ago
How are people finding Fil-C? It's designed to avoid things like this.
reply
_flux 4 hours ago
It might be bit of an effort to get Fil-C compiling the Linux kernel. As I understand it, it would amount to running garbage collector in the kernel, so some care would probably need to be taken to ensure it doesn't stop things at the wrong time, e.g. interrupts.
reply
cowlevel 4 hours ago
Does it support writing kernels?
reply
TacticalCoder 2 hours ago
Let me guess... The bug is in C code?

(reading TFA)

    net/ipv4/af_inet.c
    net/ipv4/tcp_ipv4.c
Ah yup.

And moreover it's a security issue found by LLMs.

It's kinda a really bad time to be a C-loving, AI-hating, fanboi.

Do we at least entertain the idea that some rewrites of some things in safer languages could be a desirable goal? (not saying it's practical or not: just asking if C lovers are willing to reflect a bit on what's going on atm).

reply
secondcoming 2 hours ago
Get rewriting, soldier!
reply
TZubiri 2 hours ago
maybe

i’d focus on writing new stuff with rust though, not rewriting old stuff

and time will tell whether it actually reduces bugs or just change the failure modes to something else

also C will always be there in some way or the other, at least in conventions and syntax

reply
grommz 2 hours ago
Who wrote the bug? Very likely someone at Redhat.
reply
jck86 3 hours ago
Finally a usecase for mptcp on linux. Been waiting and trying off and on for years to get it to do something, but now it can give a nice remote root shell. Well, not to me, I just get to patch devices.
reply
rurban 4 hours ago
In an earlier report, it said only affected is kernel 4.4, not all since. This quite dramatic now.

I see. https://nvd.nist.gov/vuln/detail/cve-2026-98432 affected versions format is the culprit. Entirely unusable. We do have versions, branch names and tags for a reason.

reply
pizza234 4 hours ago
Wrong. Every kernel from 4.4 onward is affected until the fixed releases (5.10.272, 5.15.223, 6.1.190 and so on).
reply
Mawr 2 hours ago
Right. The "Affected Products" section on https://nvd.nist.gov is absolutely useless and highly misleading. I don't understand how this can be the case for something so security critical.
reply