xref: /linux/Documentation/process/cve.rst (revision 79790b6818e96c58fe2bffee1b418c16e64e7b80)
1*5928d411SGreg Kroah-Hartman====
2*5928d411SGreg Kroah-HartmanCVEs
3*5928d411SGreg Kroah-Hartman====
4*5928d411SGreg Kroah-Hartman
5*5928d411SGreg Kroah-HartmanCommon Vulnerabilities and Exposure (CVE®) numbers were developed as an
6*5928d411SGreg Kroah-Hartmanunambiguous way to identify, define, and catalog publicly disclosed
7*5928d411SGreg Kroah-Hartmansecurity vulnerabilities.  Over time, their usefulness has declined with
8*5928d411SGreg Kroah-Hartmanregards to the kernel project, and CVE numbers were very often assigned
9*5928d411SGreg Kroah-Hartmanin inappropriate ways and for inappropriate reasons.  Because of this,
10*5928d411SGreg Kroah-Hartmanthe kernel development community has tended to avoid them.  However, the
11*5928d411SGreg Kroah-Hartmancombination of continuing pressure to assign CVEs and other forms of
12*5928d411SGreg Kroah-Hartmansecurity identifiers, and ongoing abuses by individuals and companies
13*5928d411SGreg Kroah-Hartmanoutside of the kernel community has made it clear that the kernel
14*5928d411SGreg Kroah-Hartmancommunity should have control over those assignments.
15*5928d411SGreg Kroah-Hartman
16*5928d411SGreg Kroah-HartmanThe Linux kernel developer team does have the ability to assign CVEs for
17*5928d411SGreg Kroah-Hartmanpotential Linux kernel security issues.  This assignment is independent
18*5928d411SGreg Kroah-Hartmanof the :doc:`normal Linux kernel security bug reporting
19*5928d411SGreg Kroah-Hartmanprocess<../process/security-bugs>`.
20*5928d411SGreg Kroah-Hartman
21*5928d411SGreg Kroah-HartmanA list of all assigned CVEs for the Linux kernel can be found in the
22*5928d411SGreg Kroah-Hartmanarchives of the linux-cve mailing list, as seen on
23*5928d411SGreg Kroah-Hartmanhttps://lore.kernel.org/linux-cve-announce/.  To get notice of the
24*5928d411SGreg Kroah-Hartmanassigned CVEs, please `subscribe
25*5928d411SGreg Kroah-Hartman<https://subspace.kernel.org/subscribing.html>`_ to that mailing list.
26*5928d411SGreg Kroah-Hartman
27*5928d411SGreg Kroah-HartmanProcess
28*5928d411SGreg Kroah-Hartman=======
29*5928d411SGreg Kroah-Hartman
30*5928d411SGreg Kroah-HartmanAs part of the normal stable release process, kernel changes that are
31*5928d411SGreg Kroah-Hartmanpotentially security issues are identified by the developers responsible
32*5928d411SGreg Kroah-Hartmanfor CVE number assignments and have CVE numbers automatically assigned
33*5928d411SGreg Kroah-Hartmanto them.  These assignments are published on the linux-cve-announce
34*5928d411SGreg Kroah-Hartmanmailing list as announcements on a frequent basis.
35*5928d411SGreg Kroah-Hartman
36*5928d411SGreg Kroah-HartmanNote, due to the layer at which the Linux kernel is in a system, almost
37*5928d411SGreg Kroah-Hartmanany bug might be exploitable to compromise the security of the kernel,
38*5928d411SGreg Kroah-Hartmanbut the possibility of exploitation is often not evident when the bug is
39*5928d411SGreg Kroah-Hartmanfixed.  Because of this, the CVE assignment team is overly cautious and
40*5928d411SGreg Kroah-Hartmanassign CVE numbers to any bugfix that they identify.  This
41*5928d411SGreg Kroah-Hartmanexplains the seemingly large number of CVEs that are issued by the Linux
42*5928d411SGreg Kroah-Hartmankernel team.
43*5928d411SGreg Kroah-Hartman
44*5928d411SGreg Kroah-HartmanIf the CVE assignment team misses a specific fix that any user feels
45*5928d411SGreg Kroah-Hartmanshould have a CVE assigned to it, please email them at <cve@kernel.org>
46*5928d411SGreg Kroah-Hartmanand the team there will work with you on it.  Note that no potential
47*5928d411SGreg Kroah-Hartmansecurity issues should be sent to this alias, it is ONLY for assignment
48*5928d411SGreg Kroah-Hartmanof CVEs for fixes that are already in released kernel trees.  If you
49*5928d411SGreg Kroah-Hartmanfeel you have found an unfixed security issue, please follow the
50*5928d411SGreg Kroah-Hartman:doc:`normal Linux kernel security bug reporting
51*5928d411SGreg Kroah-Hartmanprocess<../process/security-bugs>`.
52*5928d411SGreg Kroah-Hartman
53*5928d411SGreg Kroah-HartmanNo CVEs will be automatically assigned for unfixed security issues in
54*5928d411SGreg Kroah-Hartmanthe Linux kernel; assignment will only automatically happen after a fix
55*5928d411SGreg Kroah-Hartmanis available and applied to a stable kernel tree, and it will be tracked
56*5928d411SGreg Kroah-Hartmanthat way by the git commit id of the original fix.  If anyone wishes to
57*5928d411SGreg Kroah-Hartmanhave a CVE assigned before an issue is resolved with a commit, please
58*5928d411SGreg Kroah-Hartmancontact the kernel CVE assignment team at <cve@kernel.org> to get an
59*5928d411SGreg Kroah-Hartmanidentifier assigned from their batch of reserved identifiers.
60*5928d411SGreg Kroah-Hartman
61*5928d411SGreg Kroah-HartmanNo CVEs will be assigned for any issue found in a version of the kernel
62*5928d411SGreg Kroah-Hartmanthat is not currently being actively supported by the Stable/LTS kernel
63*5928d411SGreg Kroah-Hartmanteam.  A list of the currently supported kernel branches can be found at
64*5928d411SGreg Kroah-Hartmanhttps://kernel.org/releases.html
65*5928d411SGreg Kroah-Hartman
66*5928d411SGreg Kroah-HartmanDisputes of assigned CVEs
67*5928d411SGreg Kroah-Hartman=========================
68*5928d411SGreg Kroah-Hartman
69*5928d411SGreg Kroah-HartmanThe authority to dispute or modify an assigned CVE for a specific kernel
70*5928d411SGreg Kroah-Hartmanchange lies solely with the maintainers of the relevant subsystem
71*5928d411SGreg Kroah-Hartmanaffected.  This principle ensures a high degree of accuracy and
72*5928d411SGreg Kroah-Hartmanaccountability in vulnerability reporting.  Only those individuals with
73*5928d411SGreg Kroah-Hartmandeep expertise and intimate knowledge of the subsystem can effectively
74*5928d411SGreg Kroah-Hartmanassess the validity and scope of a reported vulnerability and determine
75*5928d411SGreg Kroah-Hartmanits appropriate CVE designation.  Any attempt to modify or dispute a CVE
76*5928d411SGreg Kroah-Hartmanoutside of this designated authority could lead to confusion, inaccurate
77*5928d411SGreg Kroah-Hartmanreporting, and ultimately, compromised systems.
78*5928d411SGreg Kroah-Hartman
79*5928d411SGreg Kroah-HartmanInvalid CVEs
80*5928d411SGreg Kroah-Hartman============
81*5928d411SGreg Kroah-Hartman
82*5928d411SGreg Kroah-HartmanIf a security issue is found in a Linux kernel that is only supported by
83*5928d411SGreg Kroah-Hartmana Linux distribution due to the changes that have been made by that
84*5928d411SGreg Kroah-Hartmandistribution, or due to the distribution supporting a kernel version
85*5928d411SGreg Kroah-Hartmanthat is no longer one of the kernel.org supported releases, then a CVE
86*5928d411SGreg Kroah-Hartmancan not be assigned by the Linux kernel CVE team, and must be asked for
87*5928d411SGreg Kroah-Hartmanfrom that Linux distribution itself.
88*5928d411SGreg Kroah-Hartman
89*5928d411SGreg Kroah-HartmanAny CVE that is assigned against the Linux kernel for an actively
90*5928d411SGreg Kroah-Hartmansupported kernel version, by any group other than the kernel assignment
91*5928d411SGreg Kroah-HartmanCVE team should not be treated as a valid CVE.  Please notify the
92*5928d411SGreg Kroah-Hartmankernel CVE assignment team at <cve@kernel.org> so that they can work to
93*5928d411SGreg Kroah-Hartmaninvalidate such entries through the CNA remediation process.
94*5928d411SGreg Kroah-Hartman
95*5928d411SGreg Kroah-HartmanApplicability of specific CVEs
96*5928d411SGreg Kroah-Hartman==============================
97*5928d411SGreg Kroah-Hartman
98*5928d411SGreg Kroah-HartmanAs the Linux kernel can be used in many different ways, with many
99*5928d411SGreg Kroah-Hartmandifferent ways of accessing it by external users, or no access at all,
100*5928d411SGreg Kroah-Hartmanthe applicability of any specific CVE is up to the user of Linux to
101*5928d411SGreg Kroah-Hartmandetermine, it is not up to the CVE assignment team.  Please do not
102*5928d411SGreg Kroah-Hartmancontact us to attempt to determine the applicability of any specific
103*5928d411SGreg Kroah-HartmanCVE.
104*5928d411SGreg Kroah-Hartman
105*5928d411SGreg Kroah-HartmanAlso, as the source tree is so large, and any one system only uses a
106*5928d411SGreg Kroah-Hartmansmall subset of the source tree, any users of Linux should be aware that
107*5928d411SGreg Kroah-Hartmanlarge numbers of assigned CVEs are not relevant for their systems.
108*5928d411SGreg Kroah-Hartman
109*5928d411SGreg Kroah-HartmanIn short, we do not know your use case, and we do not know what portions
110*5928d411SGreg Kroah-Hartmanof the kernel that you use, so there is no way for us to determine if a
111*5928d411SGreg Kroah-Hartmanspecific CVE is relevant for your system.
112*5928d411SGreg Kroah-Hartman
113*5928d411SGreg Kroah-HartmanAs always, it is best to take all released kernel changes, as they are
114*5928d411SGreg Kroah-Hartmantested together in a unified whole by many community members, and not as
115*5928d411SGreg Kroah-Hartmanindividual cherry-picked changes.  Also note that for many bugs, the
116*5928d411SGreg Kroah-Hartmansolution to the overall problem is not found in a single change, but by
117*5928d411SGreg Kroah-Hartmanthe sum of many fixes on top of each other.  Ideally CVEs will be
118*5928d411SGreg Kroah-Hartmanassigned to all fixes for all issues, but sometimes we will fail to
119*5928d411SGreg Kroah-Hartmannotice fixes, therefore assume that some changes without a CVE assigned
120*5928d411SGreg Kroah-Hartmanmight be relevant to take.
121*5928d411SGreg Kroah-Hartman
122