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 release | Maintained according to kernel.org | Open CVEs | of them in the KEV catalogue |
|---|---|---|---|
| 6.18.60, 30 Oct 2026 | until December 2028 | 140 | 0 |
| 6.12.115, 30 Oct 2026 | until December 2028 | 245 | 0 |
| 6.6.161, 30 Oct 2026 | until December 2027 | 385 | 0 |
| 6.1.191, 30 Oct 2026 | until December 2027 | 601 | 0 |
| 5.15.224, 30 Oct 2026 | until December 2026 | 2,085 | 0 |
| 5.10.273, 30 Oct 2026 | until December 2026 | 2,189 | 0 |
| 5.4.302, 3 Dec 2025 (last) | ended | 4,711 | 4 |
| 4.19.325, 5 Dec 2024 (last) | ended | 4,833 | 5 |
| 4.14.336, 10 Jan 2024 (last) | ended | 4,704 | 9 |
Prerequisite: git clone --depth 1 https://git.kernel.org/pub/scm/linux/security/vulns.git
ls vulns/cve/published/*/*.json | wc -l18217How 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.
| Kernel | Shipped in | Open CVEs | of them in the KEV catalogue |
|---|---|---|---|
| 5.15.32 | Yocto 4.0 “Kirkstone”, 25 Apr 2022 | 9,591 | 14 |
| 5.15.189 | OpenWrt 23.05.6, 15 Aug 2025 | 5,796 | 4 |
| 5.15.201 | Yocto 4.0.35, 29 Apr 2026 | 5,198 | 3 |
| 5.15.224 | kernel.org, 30 Oct 2026 | 2,085 | 0 |
| 5.10.221 | OpenWrt 22.03.7, 22 Jul 2024 | 6,245 | 9 |
| 5.10.273 | kernel.org, 30 Oct 2026 | 2,189 | 0 |
| 6.6.23 | Yocto 5.0 “Scarthgap”, 30 Apr 2024 | 8,904 | 12 |
| 6.6.144 | OpenWrt 24.10.8, 24 Jul 2026 | 4,088 | 0 |
| 6.6.151 | Yocto 5.0.21, 28 Oct 2026 | 3,101 | 0 |
| 6.6.161 | kernel.org, 30 Oct 2026 | 385 | 0 |
| 6.12.112 | OpenWrt 25.12.6, 18 Oct 2026 | 1,147 | 0 |
| 6.18.24 | Yocto 6.0 “Wrynose”, 12 May 2026 | 5,896 | 3 |
| 6.18.52 | Yocto 6.0.4, 20 Oct 2026 | 1,814 | 0 |
| 6.18.60 | kernel.org, 30 Oct 2026 | 140 | 0 |
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.
| CVE | What, 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-1086 | Use-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-31431 | algif_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-46300 | net/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. |
Per line: version with the bug, version with the fix.
grep -v "^#" vulns/ cve/ published/ 2026/ CVE-2026-31431.dyad | cut -d: -f1,3Output
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.0A 0 as the fix means: not fixed in this branch.
grep -v "^#" vulns/ cve/ published/ 2026/ CVE-2026-53266.dyad | cut -d: -f1,3Output
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:0Which 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 date | Kernel |
|---|---|
| Yocto 4.0 “Kirkstone”, 25 Apr 2022 | 5.15.32 (default), 5.10.109 |
| Yocto 4.0.35, 29 Apr 2026 | 5.15.201 (default), 5.10.234 |
| Yocto 5.0 “Scarthgap”, 30 Apr 2024 | 6.6.23 |
| Yocto 5.0.21, 28 Oct 2026 | 6.6.151 |
| Yocto 6.0 “Wrynose”, 12 May 2026 | 6.18.24 |
| Yocto 6.0.4, 20 Oct 2026 | 6.18.52 |
| Yocto 6.1, 20 Oct 2026 | 7.2.6 (default), 6.18.52 |
| OpenWrt 22.03.7, 22 Jul 2024 | 5.10.221 |
| OpenWrt 23.05.6, 15 Aug 2025 | 5.15.189 |
| OpenWrt 24.10.8, 24 Jul 2026 | 6.6.144 |
| OpenWrt 25.12.0, 3 Mar 2026 | 6.12.71 |
| OpenWrt 25.12.6, 18 Oct 2026 | 6.12.112 |
| Buildroot 2025.02.19 | 6.12.112 (default), CIP 5.10.246-cip66 |
| Buildroot 2026.02.3 | 6.19.14 (default) |
| Buildroot 2026.08.1 | 7.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.
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
Read the version
uname -ron the device, in the imagestrings -a vmlinux | grep -m1 "Linux version"after unpacking. - 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
Fetch the records
git clone --depth 1 https://git.kernel.org/pub/scm/linux/security/vulns.git. For each CVE the.dyadfile names the bug version and the fix version per branch. - 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
Check forked kernels by commit
git merge-base --is-ancestor <fix commit> HEADin 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
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
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
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]kernel.org: Releases and maintenance periods
- [2]Linux kernel documentation: CVEs
- [3]kernel.org: vulns.git
- [4]linux-cve-announce: kernel CVE announcements
- [5]Greg Kroah-Hartman: Linux is a CNA, 13 February 2024
- [6]CIP: five SLTS kernels, 26 May 2025
- [7]NVD: CVE-2024-1086
- [8]CISA: Known Exploited Vulnerabilities Catalog