Skip to content
Security Article

440 Linux CVEs in a Day Is the System Working

The kernel's mass CVE drops punish checkbox security and reward teams that simply track stable releases.

Ji-ho Choi
Ji-ho Choi
Security & Cloud Editor · Jul 21, 2026 · 5 min read
440 Linux CVEs in a Day Is the System Working

Over the weekend of July 19–20, the linux-cve-announce mailing list dumped roughly 440 CVE advisories into the world — 431 in a single day, nine more the next morning. The batch touches nearly everything: networking, Bluetooth, filesystems, memory management, KVM, graphics, wireless, device drivers. If your vulnerability scanner lit up like a Christmas tree on Monday, that's why.

Here's the thing: nothing unusual happened. No exploit campaign, no coordinated disclosure, no kernel security crisis. This is the Linux kernel's CVE machine doing exactly what it was built to do — and if 440 advisories in a day breaks your security process, the problem is your process, not the kernel.

Why the kernel firehoses CVEs on purpose

The Linux kernel project became its own CVE Numbering Authority in February 2024, largely because Greg Kroah-Hartman and the stable team were tired of third parties filing dubious, inflated, or flat-wrong CVEs against the kernel. Taking over assignment gave the kernel control — and the kernel's policy is deliberately maximalist. The official process documentation says it plainly: because almost any kernel bug might be exploitable, the assignment team is "overly cautious" and assigns a CVE to any bugfix it identifies as plausibly security-relevant.

Three consequences follow, and they explain everything about this weekend:

First, CVEs are only assigned after a fix exists. Every one of those 440 advisories corresponds to a patch that has already landed in the stable trees, or is on its way. This is the opposite of a zero-day flood — it's a changelog with CVE numbers stapled on.

Second, assignments happen in lockstep with the stable release process. When a wave of stable and LTS point releases goes out, the CVE batch goes out with it. Mass-publication days aren't anomalies; they're the release cadence made visible. The kernel went from the third-largest CVE issuer in 2024 to the largest in 2025, and it publishes in bursts, not a smooth drip.

Third — and this is the part that breaks tooling — the kernel refuses to assign severity scores. No CVSS, no critical/high/medium/low. The team's position is that severity depends entirely on your configuration and workload, which they can't know. A use-after-free in TIPC is a remote nightmare if you run TIPC and a nothingburger on the 99% of machines where the module never loads.

The CVE count is now a meaningless metric. Good.

The uncomfortable truth this batch exposes: for Linux, "number of open CVEs" has stopped measuring anything. A fleet running last month's kernel will show hundreds of findings; a fleet running this week's stable shows near zero. Same code quality, same actual risk posture a week apart — the count measures patch latency, nothing else.

That's not an accident. It's the kernel community forcing a decision it has advocated for years: stop cherry-picking security fixes and just take the whole stable update. The stable team's long-standing argument is that distinguishing "security fixes" from "regular fixes" is a fiction — exploitability is usually discovered long after a fix ships. By assigning CVEs at changelog scale, they've made the cherry-picking strategy economically absurd. Nobody is individually triaging 440 advisories. You either track stable releases, or you drown.

The Hacker News thread on this batch surfaced the predictable friction: security teams whose job performance is measured in "CVE count reduction" filing tickets against ops teams who bear the actual patching cost, with neither side evaluating whether a malicious-USB privilege escalation matters on a VM with no USB controller. That checkbox culture was always waste; the kernel just raised the price of it past what anyone can pay.

What to actually do

If you own Linux infrastructure, here's the triage that works at this volume:

Don't read the advisories. Check your position. Are you on a currently supported stable or LTS series (6.18, 6.12, 6.6, 6.1, or the current stable line), and does your distro track point releases? Then the overwhelming majority of these 440 are already fixed in an update you'll install this week. Debian, RHEL, Ubuntu, and SUSE do this triage for you and rebase or backport accordingly.

Automate against the kernel's own data. Every kernel CVE ships as machine-readable JSON in the vulns repository on git.kernel.org, with affected and fixed version ranges per stable branch. Diff that against uname -r and your config instead of paying a scanner to alarm on things you don't compile. If CONFIG_TIPC, ksmbd, or SEV-SNP aren't in your build, entire slices of this batch are noise.

Shrink attack surface instead of chasing patches. Early reporting on this batch flags the usual suspects — a TIPC use-after-free, ksmbd validation bugs, a KVM/SEV overflow reachable from guests. The recurring lesson isn't "patch faster," it's that obscure, rarely-used subsystems keep producing remotely-interesting bugs. Blacklisting modules you don't use (install tipc /bin/false) retires whole categories of future CVEs for free.

If you ship a frozen kernel, you have a real problem. Embedded vendors and appliance makers who forked a kernel three years ago and backport "the important fixes" are the actual losers here. At 400+ CVEs per batch with no severity scores, the backport-what-matters strategy is unworkable, and with the EU Cyber Resilience Act's vulnerability-handling obligations coming into force, "we assessed each CVE individually" is a claim regulators will expect you to prove. The kernel community's answer — track stable — is also the only one that scales.

The verdict

This weekend's flood was the system working as intended, and the outrage-bait framing ("400 CVEs in 24 hours!") gets the story backwards. The kernel didn't get 440 bugs more dangerous on Saturday; it published its homework. The genuine shift happened in February 2024, and batches like this are just its logical endpoint arriving: CVE-as-alert is dead for Linux, replaced by CVE-as-changelog. Vulnerability scanners and compliance dashboards built on the old assumption will keep generating panic on schedule. Teams that internalize the new one — stay current on stable, automate against kernel.org's data, unload what you don't use — will find these 440-CVE days genuinely boring. That's what winning looks like.

Sources & further reading

  1. linux-cve-announce mailing list archive — lore.kernel.org
  2. Over 400 Linux CVEs published in the last 24 hours alone — news.ycombinator.com
  3. Linux Kernel CVEs: 440 Advisories Published in 24 Hours — securityonline.info
  4. Linux Kernel Team Publishes 440 CVE Security Advisories Within 24 Hours — gbhackers.com
  5. CVEs - The Linux Kernel documentation — docs.kernel.org
  6. Kroah-Hartman: Linux CVEs, more than you ever wanted to know — lwn.net
  7. Active kernel releases — kernel.org
Ji-ho Choi
Written by
Ji-ho Choi · Security & Cloud Editor

Ji-ho covers the increasingly tangled overlap between cloud architecture and security, drawing on a background as a penetration tester to keep his reporting grounded in real-world attack paths. He never lets a vendor claim go unquestioned and insists that every buzzword come with a proof of concept.

Discussion 0

Join the discussion

Sign in or create an account to comment and vote.

No comments yet

Be the first to weigh in.

Related Reading