Knowledge · Embedded Linux

Linux kernel vulnerabilities by version: the LTS branches

Linux 5.4.302, without fixes since December 2025: 4,711 open CVEs, four of them actively exploited.

Every maintained LTS branch is, at its newest release, free of vulnerabilities from the KEV catalogue. According to kernel.org, maintenance of 5.10 and 5.15 ends in December 2026.

Data queried 4 November 2026 · Page updated 4 November 2026 · 9 min readYou make the conformity statement. This page and our reports provide technical findings as its basis.

At a glance
CVE records of the kernel project
18,217, since 20 Feb 2024
Open in 6.12.115
245
Open in 5.10.273
2,189
Open in 5.4.302, maintenance ended
4,711, 4 of them in the KEV catalogue
KEV entries under vendor “Linux”
32

kernel.org vulns.git and CISA KEV, queried 4 November 2026

How many CVEs does my Linux kernel have?

Since 13 February 2024 the kernel project itself has been the CVE Numbering Authority (CNA) for Linux; the first records appeared on 20 February 2024. It publishes them in the Git repository vulns.git on git.kernel.org. For each CVE there is a file ending in .dyad: per line, the version in which the bug came in and the version in which the fix landed in a stable branch.

Counted is the newest release of each branch, repository state of 3 November 2026: a CVE is open if the faulty commit is in the release and none of its fixes is. Rejected CVEs do not count. A second count over the version ranges in the JSON records differs by less than 0.5 %.

The number applies to the whole source tree. A device builds only part of it; many drivers and subsystems are not even enabled in your .config. CVEs from before 2024 that other parties assigned, such as Dirty Pipe, are not in these records and come on top.

Branch, newest releaseMaintained according to kernel.orgOpen CVEsof them in the KEV catalogue
6.18.60, 30 Oct 2026until December 20281400
6.12.115, 30 Oct 2026until December 20282450
6.6.161, 30 Oct 2026until December 20273850
6.1.191, 30 Oct 2026until December 20276010
5.15.224, 30 Oct 2026until December 20262,0850
5.10.273, 30 Oct 2026until December 20262,1890
5.4.302, 3 Dec 2025 (last)ended4,7114
4.19.325, 5 Dec 2024 (last)ended4,8335
4.14.336, 10 Jan 2024 (last)ended4,7049
Records in the repository

Prerequisite: git clone --depth 1 https://git.kernel.org/pub/scm/linux/security/vulns.git

ls vulns/cve/published/*/*.json | wc -l
Output
18217

How much does the patch level within a branch matter?

More than the branch. A kernel frozen with a distribution release collects open CVEs month after month: the stable branches get fixes every week, and the kernel project assigns a number to many of them. 6.18.53 contains 1,252 commits and, according to the records, closes 538 CVEs that are still open in 6.18.52.

The table shows versions that Yocto and OpenWrt actually shipped, next to the newest release of the same branch. The KEV column here also includes older vulnerabilities that are only in the NVD.

KernelShipped inOpen CVEsof them in the KEV catalogue
5.15.32Yocto 4.0 “Kirkstone”, 25 Apr 20229,59114
5.15.189OpenWrt 23.05.6, 15 Aug 20255,7964
5.15.201Yocto 4.0.35, 29 Apr 20265,1983
5.15.224kernel.org, 30 Oct 20262,0850
5.10.221OpenWrt 22.03.7, 22 Jul 20246,2459
5.10.273kernel.org, 30 Oct 20262,1890
6.6.23Yocto 5.0 “Scarthgap”, 30 Apr 20248,90412
6.6.144OpenWrt 24.10.8, 24 Jul 20264,0880
6.6.151Yocto 5.0.21, 28 Oct 20263,1010
6.6.161kernel.org, 30 Oct 20263850
6.12.112OpenWrt 25.12.6, 18 Oct 20261,1470
6.18.24Yocto 6.0 “Wrynose”, 12 May 20265,8963
6.18.52Yocto 6.0.4, 20 Oct 20261,8140
6.18.60kernel.org, 30 Oct 20261400

Which Linux kernel vulnerabilities are actively exploited?

The CISA KEV catalogue (version 2026.11.03, 1,767 entries) lists 32 vulnerabilities under vendor “Linux”, plus kernel vulnerabilities under “Android” such as CVE-2024-36971. Twelve of them have a record from the kernel project; the rest date from before. In every maintained LTS branch none of them is open at the newest release. In 5.4, 4.19 and 4.14 four, five and nine stay open, because the fixes came after the end of maintenance.

CVEWhat, affected, fixed in
CVE-2016-5195 (Dirty COW)Race condition in memory management, privilege escalation. From 2.6.22, fixed among others in 4.4.26, 4.7.9 and 4.8.3. CVSS 7.0 (NVD).
CVE-2022-0847 (Dirty Pipe)Overwriting read-only files through pipes, privilege escalation. From 5.8, fixed in 5.10.102, 5.15.25 and 5.16.11. CVSS 7.8 (NVD).
CVE-2024-1086Use-after-free in nf_tables (netfilter), privilege escalation. Fixed in 4.19.307, 5.4.269, 5.10.210, 5.15.149, 6.1.76 and 6.6.15; 4.14 has no fix. CVSS 7.8 (NVD). According to CISA used in ransomware campaigns.
CVE-2026-31431algif_aead in the AF_ALG crypto interface, privilege escalation. From 4.14, fixed in 5.10.254, 5.15.204, 6.1.170, 6.6.137, 6.12.85 and 6.18.22. Open in 4.14, 4.19 and 5.4.
CVE-2026-46300net/core/skbuff.c, data in the page cache can be modified. From 3.9, fixed in 5.10.257, 5.15.208, 6.1.174, 6.6.141, 6.12.91 and 6.18.33. In the KEV catalogue since 28 October 2026.
Where CVE-2026-31431 is fixed

Per line: version with the bug, version with the fix.

grep -v "^#" vulns/cve/published/2026/CVE-2026-31431.dyad | cut -d: -f1,3

Output

4.14:5.10.254
4.14:5.15.204
4.14:6.1.170
4.14:6.6.137
4.14:6.12.85
4.14:6.18.22
4.14:6.19.12
4.14:7.0
Bug backported into 5.4, no fix there

A 0 as the fix means: not fixed in this branch.

grep -v "^#" vulns/cve/published/2026/CVE-2026-53266.dyad | cut -d: -f1,3

Output

5.10:5.10.259
5.10:5.15.210
5.10:6.1.176
5.10:6.6.143
5.10:6.12.94
5.10:6.18.36
5.10:7.0.13
5.10:7.1
5.4.73:0
5.8.17:0
5.9.2:0

Which kernel version do Yocto, OpenWrt and Buildroot ship?

Read at the published tags, as of 4 November 2026. Yocto updates the kernel in its point releases, and so does OpenWrt. Anyone who does not follow a point release stays on the state of their tag.

Buildroot takes as its default the newest stable kernel at the time of the release, even if that is not an LTS branch. 6.19 and 7.1 are no longer in kernel.org's list of maintained branches. Yocto 6.1 also defaults to 7.2.6, and 7.2 got its last release, 7.2.15, on 1 November 2026.

Release, tag dateKernel
Yocto 4.0 “Kirkstone”, 25 Apr 20225.15.32 (default), 5.10.109
Yocto 4.0.35, 29 Apr 20265.15.201 (default), 5.10.234
Yocto 5.0 “Scarthgap”, 30 Apr 20246.6.23
Yocto 5.0.21, 28 Oct 20266.6.151
Yocto 6.0 “Wrynose”, 12 May 20266.18.24
Yocto 6.0.4, 20 Oct 20266.18.52
Yocto 6.1, 20 Oct 20267.2.6 (default), 6.18.52
OpenWrt 22.03.7, 22 Jul 20245.10.221
OpenWrt 23.05.6, 15 Aug 20255.15.189
OpenWrt 24.10.8, 24 Jul 20266.6.144
OpenWrt 25.12.0, 3 Mar 20266.12.71
OpenWrt 25.12.6, 18 Oct 20266.12.112
Buildroot 2025.02.196.12.112 (default), CIP 5.10.246-cip66
Buildroot 2026.02.36.19.14 (default)
Buildroot 2026.08.17.1.13 (default), CIP 5.10.254-cip72

What is a CIP kernel, and do the numbers apply to it?

The Civil Infrastructure Platform project (CIP) maintains super long-term support kernels (SLTS) for up to ten years, built on the LTS branches: 4.4, 4.19, 5.10, 6.1 and 6.12. For 6.12 maintenance is planned until mid-2035, for 4.4 until January 2027. The newest tags on 4 November 2026: v4.4.302-cip115, v4.19.325-cip136, v5.10.272-cip79, v6.1.190-cip62 and v6.12.114-cip34.

A CIP kernel carries fixes that kernel.org no longer ships in the branch of the same name. The numbers above apply to the kernel.org releases; 4.19.325-cip136 contains additional fixes. For a CIP kernel, check each fix by its commit in the source tree, see below.

Where is the kernel version in the image?

The kernel writes its version as text into linux_banner, such as “Linux version 5.10.273 (user@host) (gcc …) #1 SMP …”. On the running device, uname -r and /proc/version show it. In the file system it is in the directory name under /lib/modules/ and in the vermagic line of every module (modinfo).

In the shipped image the kernel is usually compressed (zImage, bzImage, Image.gz); then strings only finds the line after unpacking. The source tree brings scripts/extract-vmlinux for that. A uImage also carries the version in its header, by default as “Linux-<version>”. Suffixes such as -yocto-standard, -cip136 or a chip vendor's identifier follow the version number.

The version line in the 6.12 source
curl -s https://raw.githubusercontent.com/torvalds/linux/v6.12/init/version-timestamp.c | grep -n -A2 "linux_banner\[\]"

Output

28:const char linux_banner[] =
29-	"Linux version " UTS_RELEASE " (" LINUX_COMPILE_BY "@"
30-	LINUX_COMPILE_HOST ") (" LINUX_COMPILER ") " UTS_VERSION "\n";

How do I check my kernel by hand?

  1. 1

    Read the version

    uname -r on the device, in the image strings -a vmlinux | grep -m1 "Linux version" after unpacking.

  2. 2

    Establish the origin

    a kernel.org release, linux-yocto, CIP or the kernel from the chip vendor's BSP. From the branch point on, what counts is which fixes the supplier has taken over.

  3. 3

    Fetch the records

    git clone --depth 1 https://git.kernel.org/pub/scm/linux/security/vulns.git. For each CVE the .dyad file names the bug version and the fix version per branch.

  4. 4

    Count

    a CVE is open if the version with the bug is in your kernel and no fix up to your patch level is listed for your branch.

  5. 5

    Check forked kernels by commit

    git merge-base --is-ancestor <fix commit> HEAD in the supplier's source tree shows whether a fix is in. A backport carries a different commit ID; then search the log for the title of the fix.

  6. 6

    Match the configuration

    the JSON record names the affected source files (programFiles). If the driver or subsystem is off in the .config, the code is not in the image.

  7. 7

    Older CVEs in the NVD

    query with cpe:2.3:o:linux:linux_kernel:<version> and read the ranges. For CVE-2024-1086 the NVD lists everything before 5.15.149 as affected, but the fix is also in 5.10.210.

  8. 8

    The CISA KEV catalogue

    entries with product “Kernel” are actively exploited, under vendor “Linux” and under vendor “Android”.

Can this run automatically?

LegacyMind reads the bootloader, the kernel and the packages with their versions from the image and matches each one against the vulnerability sources, with the location in the image and a note on whether a vulnerability is actively exploited. If the image gives no evidence of a version, the field stays empty.

Questions

How many CVEs does Linux 5.10 have?

According to the kernel project's records, on 4 November 2026 the newest release, 5.10.273, has 2,189 open CVEs, none of them in the KEV catalogue. 5.10.221 from OpenWrt 22.03.7 has 6,245, nine of them in the KEV catalogue.

When does maintenance of Linux 5.10 and 5.15 end?

According to kernel.org, in December 2026. After that no more fixes land there, and the number of open CVEs rises as it did for 5.4. For 5.10 there is the CIP kernel, which stays maintained.

Why does the Linux kernel have so many CVEs?

By its own account, the kernel project errs on the side of caution and assigns a CVE to every bug fix it identifies as possibly security-relevant. Whether a kernel bug can be exploited is often impossible to tell when it is fixed. Since February 2024 this has produced 18,217 records.

Is my device affected by every open CVE?

It is in the version range. Whether a vulnerability is in the image depends on whether the affected code is built; whether it can be exploited depends on whether an attacker can reach that code. The kernel project itself writes that a large share of the CVEs is not relevant for a given system.

Which kernel vulnerabilities are actively exploited?

On 3 November 2026 the CISA KEV catalogue lists 32 vulnerabilities under vendor “Linux”, among them Dirty COW (CVE-2016-5195), Dirty Pipe (CVE-2022-0847) and CVE-2024-1086 in nf_tables. More kernel vulnerabilities are listed there under “Android”, such as CVE-2024-36971. The most recent, added on 28 October 2026, is CVE-2026-46300.

Does a branch without maintenance still get new CVEs?

The kernel project assigns no CVE for bugs that exist only in versions no longer maintained. For bugs in shared code, though, the records show whether the faulty commit is also in 4.19 or 5.4. That is why the number of open CVEs keeps rising there.

Does the kernel belong in the SBOM as a component of its own?

Yes, with its exact version and patch level, plus its origin: kernel.org, Yocto, CIP or the chip vendor's kernel. Without the patch level the number of open CVEs cannot be determined.

Sources

  1. [1]kernel.org: Releases and maintenance periods
  2. [2]Linux kernel documentation: CVEs
  3. [3]kernel.org: vulns.git
  4. [4]linux-cve-announce: kernel CVE announcements
  5. [5]Greg Kroah-Hartman: Linux is a CNA, 13 February 2024
  6. [6]CIP: five SLTS kernels, 26 May 2025
  7. [7]NVD: CVE-2024-1086
  8. [8]CISA: Known Exploited Vulnerabilities Catalog

Check your own image

Upload one firmware image, an AXF or a supplier SBOM in your own LegacyMind account. Report and SBOM within three working days, NDA on request. The app and the reports are in German; questions in English are welcome.