dradis-calculator_cvss 4.11.0 → 4.12.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +3 -0
  3. data/app/assets/javascripts/dradis/plugins/calculators/cvss/cvss.js +32 -0
  4. data/app/assets/javascripts/dradis/plugins/calculators/cvss/manifests/application.js +16 -5
  5. data/app/assets/javascripts/dradis/plugins/calculators/cvss/manifests/tylium.js +16 -5
  6. data/app/assets/javascripts/dradis/plugins/calculators/cvss/{calculator.js.coffee → v3/calculator.js.coffee} +10 -32
  7. data/app/assets/javascripts/dradis/plugins/calculators/cvss/v4/calculator.js +168 -0
  8. data/app/assets/javascripts/dradis/plugins/calculators/cvss/v4/vendor/app.js +435 -0
  9. data/app/assets/javascripts/dradis/plugins/calculators/cvss/v4/vendor/cvss_config.js +858 -0
  10. data/app/assets/javascripts/dradis/plugins/calculators/cvss/v4/vendor/cvss_details.js +18 -0
  11. data/app/assets/javascripts/dradis/plugins/calculators/cvss/v4/vendor/cvss_lookup.js +275 -0
  12. data/app/assets/javascripts/dradis/plugins/calculators/cvss/v4/vendor/max_composed.js +35 -0
  13. data/app/assets/javascripts/dradis/plugins/calculators/cvss/v4/vendor/max_severity.js +30 -0
  14. data/app/assets/javascripts/dradis/plugins/calculators/cvss/v4/vendor/metrics.js +42 -0
  15. data/app/assets/stylesheets/dradis/plugins/calculators/cvss/manifests/application.css.scss +2 -1
  16. data/app/assets/stylesheets/dradis/plugins/calculators/cvss/manifests/tylium.scss +1 -2
  17. data/app/controllers/dradis/plugins/calculators/cvss/base_controller.rb +3 -1
  18. data/app/controllers/dradis/plugins/calculators/cvss/issues_controller.rb +35 -9
  19. data/app/models/dradis/plugins/calculators/cvss/v4.rb +89 -0
  20. data/app/views/dradis/plugins/calculators/cvss/_version_menu.html.erb +8 -0
  21. data/app/views/dradis/plugins/calculators/cvss/base/index.html.erb +9 -70
  22. data/app/views/dradis/plugins/calculators/cvss/base/v3/_base.html.erb +123 -0
  23. data/app/views/dradis/plugins/calculators/cvss/base/v3/_environmental.html.erb +192 -0
  24. data/app/views/dradis/plugins/calculators/cvss/base/v3/_index.html.erb +69 -0
  25. data/app/views/dradis/plugins/calculators/cvss/base/v3/_temporal.html.erb +67 -0
  26. data/app/views/dradis/plugins/calculators/cvss/base/v4/_base.html.erb +143 -0
  27. data/app/views/dradis/plugins/calculators/cvss/base/v4/_environmental.html.erb +220 -0
  28. data/app/views/dradis/plugins/calculators/cvss/base/v4/_index.html.erb +82 -0
  29. data/app/views/dradis/plugins/calculators/cvss/base/v4/_supplemental.html.erb +85 -0
  30. data/app/views/dradis/plugins/calculators/cvss/base/v4/_threat.html.erb +19 -0
  31. data/app/views/dradis/plugins/calculators/cvss/issues/_show-content.html.erb +21 -7
  32. data/app/views/dradis/plugins/calculators/cvss/issues/edit/_v3.html.erb +91 -0
  33. data/app/views/dradis/plugins/calculators/cvss/issues/edit/_v4.html.erb +103 -0
  34. data/app/views/dradis/plugins/calculators/cvss/issues/edit.html.erb +3 -93
  35. data/lib/dradis/plugins/calculators/cvss/gem_version.rb +1 -1
  36. metadata +30 -13
  37. data/app/assets/stylesheets/dradis/plugins/calculators/cvss/_version_switch.scss +0 -26
  38. data/app/views/dradis/plugins/calculators/cvss/_version_switch.html.erb +0 -10
  39. data/app/views/dradis/plugins/calculators/cvss/base/_base.html.erb +0 -123
  40. data/app/views/dradis/plugins/calculators/cvss/base/_environmental.html.erb +0 -192
  41. data/app/views/dradis/plugins/calculators/cvss/base/_temporal.html.erb +0 -67
  42. /data/app/assets/javascripts/dradis/plugins/calculators/cvss/{vendor → v3/vendor}/cvsscalc30.js +0 -0
  43. /data/app/assets/javascripts/dradis/plugins/calculators/cvss/{vendor → v3/vendor}/cvsscalc30_helptext.js +0 -0
  44. /data/app/assets/javascripts/dradis/plugins/calculators/cvss/{vendor → v3/vendor}/cvsscalc31.js +0 -0
  45. /data/app/assets/javascripts/dradis/plugins/calculators/cvss/{vendor → v3/vendor}/cvsscalc31_helptext.js +0 -0
@@ -1,192 +0,0 @@
1
- <section data-behavior="cvss-buttons">
2
-
3
- <div class="row">
4
-
5
- <div class="col-6">
6
- <div class="inner">
7
- <h5 class="header-underline mt-0" data-cvss="CR_Heading">Confidentiality Req. (CR)</h5>
8
-
9
- <%= hidden_field_tag :cr, @cvss_vector['CR'] %>
10
-
11
- <div class="btn-group mb-4">
12
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['CR'] == 'X' %>" name="cr" value="X" data-label="Not Defined" data-cvss="CR_X_Label">N/D <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
13
-
14
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['CR'] == 'L' %>" name="cr" value="L" data-label="Low" data-cvss="CR_L_Label">Low <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
15
-
16
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['CR'] == 'M' %>" name="cr" value="M" data-label="Medium" data-cvss="CR_M_Label">Med <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
17
-
18
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['CR'] == 'H' %>" name="cr" value="H" data-label="High" data-cvss="CR_H_Label">High <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
19
- </div>
20
- </div>
21
-
22
- <div class="inner">
23
- <h5 class="header-underline mt-0" data-cvss="IR_Heading">Integrity Req. (IR)</h5>
24
-
25
- <%= hidden_field_tag :ir, @cvss_vector['IR'] %>
26
-
27
- <div class="btn-group mb-4">
28
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['IR'] == 'X' %>" name="ir" value="X" data-label="Not Defined" data-cvss="IR_X_Label">N/D <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
29
-
30
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['IR'] == 'L' %>" name="ir" value="L" data-label="Low" data-cvss="IR_L_Label">Low <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
31
-
32
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['IR'] == 'M' %>" name="ir" value="M" data-label="Medium" data-cvss="IR_M_Label">Med <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
33
-
34
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['IR'] == 'H' %>" name="ir" value="H" data-label="High" data-cvss="IR_H_Label">High <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
35
- </div>
36
- </div>
37
-
38
- <div class="inner">
39
- <h5 class="header-underline mt-0" data-cvss="AR_Heading">Availability Req. (AR)</h5>
40
-
41
- <%= hidden_field_tag :ar, @cvss_vector['AR'] %>
42
-
43
- <div class="btn-group mb-4">
44
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['AR'] == 'X' %>" name="ar" value="X" data-label="Not Defined" data-cvss="AR_X_Label">N/D <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
45
-
46
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['AR'] == 'L' %>" name="ar" value="L" data-label="Low" data-cvss="AR_L_Label">Low <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
47
-
48
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['AR'] == 'M' %>" name="ar" value="M" data-label="Medium" data-cvss="AR_M_Label">Med <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
49
-
50
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['AR'] == 'H' %>" name="ar" value="H" data-label="High" data-cvss="AR_H_Label">High <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
51
- </div>
52
- </div>
53
- </div>
54
-
55
- <div class="col-6">
56
-
57
- <div class="inner">
58
- <h5 class="header-underline mt-0" data-cvss="MAV_Heading">Mod. Attack Vector (MAV)</h5>
59
-
60
- <%= hidden_field_tag :mav, @cvss_vector['MAV'] %>
61
-
62
- <div class="btn-group mb-4">
63
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['MAV'] == 'X' %>" name="mav" value="X" data-label="Not Defined" data-cvss="MAV_X_Label">N/D <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
64
-
65
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['MAV'] == 'N' %>" name="mav" value="N" data-label="Network" data-cvss="MAV_N_Label">Net. <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
66
-
67
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['MAV'] == 'A' %>" name="mav" value="A" data-label="Adjacent" data-cvss="MAV_A_Label">Adjacent <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
68
-
69
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['MAV'] == 'L' %>" name="mav" value="L" data-label="Local" data-cvss="MAV_L_Label">Local <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
70
-
71
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['MAV'] == 'P' %>" name="mav" value="P" data-label="Physical" data-cvss="MAV_P_Label">Physical <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
72
- </div>
73
- </div>
74
-
75
- <div class="inner">
76
- <h5 class="header-underline mt-0" data-cvss="MAC_Heading">Mod. Attack Complexity (MAC)</h5>
77
-
78
- <%= hidden_field_tag :mac, @cvss_vector['MAC'] %>
79
-
80
- <div class="btn-group mb-4">
81
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['MAC'] == 'X' %>" name="mac" value="X" data-label="Not Defined" data-cvss="MAC_X_Label">N/D <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
82
-
83
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['MAC'] == 'L' %>" name="mac" value="L" data-label="Low" data-cvss="MAC_L_Label">Low <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
84
-
85
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['MAC'] == 'H' %>" name="mac" value="H" data-label="High" data-cvss="MAC_H_Label">High <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
86
- </div>
87
- </div>
88
-
89
- <div class="inner">
90
- <h5 class="header-underline mt-0" data-cvss="MPR_Heading">Mod. Privileges Required (MPR)</h5>
91
-
92
- <%= hidden_field_tag :mpr, @cvss_vector['MPR'] %>
93
-
94
- <div class="btn-group mb-4">
95
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['MPR'] == 'X' %>" name="mpr" value="X" data-label="Not Defined" data-cvss="MPR_X_Label">N/D <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
96
-
97
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['MPR'] == 'N' %>" name="mpr" value="N" data-label="None" data-cvss="MPR_N_Label">None <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
98
-
99
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['MPR'] == 'L' %>" name="mpr" value="L" data-label="Low" data-cvss="MPR_L_Label">Low <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
100
-
101
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['MPR'] == 'H' %>" name="mpr" value="H" data-label="High" data-cvss="MPR_H_Label">High <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
102
- </div>
103
- </div>
104
-
105
- <div class="inner">
106
- <h5 class="header-underline mt-0" data-cvss="MUI_Heading">Mod. User Interaction (MUI)</h5>
107
-
108
- <%= hidden_field_tag :mui, @cvss_vector['MUI'] %>
109
-
110
- <div class="btn-group mb-4">
111
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['MUI'] == 'X' %>" name="mui" value="X" data-label="Not Defined" data-cvss="MUI_X_Label">N/D <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
112
-
113
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['MUI'] == 'N' %>" name="mui" value="N" data-label="None" data-cvss="MUI_N_Label">None <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
114
-
115
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['MUI'] == 'R' %>" name="mui" value="R" data-label="Required" data-cvss="MUI_R_Label">Required <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
116
- </div>
117
- </div>
118
-
119
- <div class="inner">
120
- <h5 class="header-underline mt-0" data-cvss="MS_Heading">Mod. Scope (MS)</h5>
121
-
122
- <%= hidden_field_tag :ms, @cvss_vector['MS'] %>
123
-
124
- <div class="btn-group mb-4">
125
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['MS'] == 'X' %>" name="ms" value="X" data-label="Not Defined" data-cvss="MS_X_Label">N/D <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
126
-
127
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['MS'] == 'U' %>" name="ms" value="U" data-label="Unchanged" data-cvss="MS_U_Label">Unchanged <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
128
-
129
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['MS'] == 'C' %>" name="ms" value="C" data-label="Changed" data-cvss="MS_C_Label">Changed <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
130
- </div>
131
- </div>
132
-
133
- <div class="inner">
134
- <h5 class="header-underline mt-0" data-cvss="MC_Heading">Mod. Confidentiality (MC)</h5>
135
-
136
- <%= hidden_field_tag :mc, @cvss_vector['MC'] %>
137
-
138
- <div class="btn-group mb-4">
139
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['MC'] == 'X' %>" name="mc" value="X" data-label="Not Defined" data-cvss="MC_X_Label">N/D <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
140
-
141
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['MC'] == 'N' %>" name="mc" value="N" data-label="None" data-cvss="MC_N_Label">None <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
142
-
143
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['MC'] == 'L' %>" name="mc" value="L" data-label="Low" data-cvss="MC_L_Label">Low<i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
144
-
145
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['MC'] == 'H' %>" name="mc" value="H" data-label="High" data-cvss="MC_H_Label">High <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
146
- </div>
147
- </div>
148
-
149
- <div class="inner">
150
- <h5 class="header-underline mt-0" data-cvss="MI_Heading">Mod. Integrity (MI)</h5>
151
-
152
- <%= hidden_field_tag :mi, @cvss_vector['MI'] %>
153
-
154
- <div class="btn-group mb-4">
155
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['MI'] == 'X' %>" name="mi" value="X" data-label="Not Defined" data-cvss="MI_X_Label">N/D <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
156
-
157
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['MI'] == 'N' %>" name="mi" value="N" data-label="None" data-cvss="MI_N_Label">None <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
158
-
159
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['MI'] == 'L' %>" name="mi" value="L" data-label="Low" data-cvss="MI_L_Label">Low <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
160
-
161
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['MI'] == 'H' %>" name="mi" value="H" data-label="High" data-cvss="MI_H_Label">High <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
162
- </div>
163
- </div>
164
-
165
- <div class="inner">
166
- <h5 class="header-underline mt-0" data-cvss="MA_Heading">Mod. Availability (MA)</h5>
167
-
168
- <%= hidden_field_tag :ma, @cvss_vector['MA'] %>
169
-
170
- <div class="btn-group mb-4">
171
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['MA'] == 'X' %>" name="ma" value="X" data-label="Not Defined" data-cvss="MA_X_Label">N/D <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
172
-
173
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['MA'] == 'N' %>" name="ma" value="N" data-label="None" data-cvss="MA_N_Label">None <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
174
-
175
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['MA'] == 'L' %>" name="ma" value="L" data-label="Low" data-cvss="MA_L_Label">Low <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
176
-
177
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['MA'] == 'H' %>" name="ma" value="H" data-label="High" data-cvss="MA_H_Label">High <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
178
- </div>
179
- </div>
180
- </div>
181
-
182
- </div>
183
-
184
- <p>
185
- These metrics enable the analyst to customize the CVSS score depending on
186
- the importance of the affected IT asset to a user's organization, measured
187
- in terms of complementary/alternative security controls in place,
188
- Confidentiality, Integrity, and Availability. The metrics are the modified
189
- equivalent of base metrics and are assigned metric values based on the
190
- component placement in organization infrastructure.
191
- </p>
192
- </section>
@@ -1,67 +0,0 @@
1
- <section data-behavior="cvss-buttons">
2
-
3
- <div class="inner">
4
- <h5 class="header-underline mt-0" data-cvss="E_Heading">
5
- Exploit Code Maturity (E)
6
- </h5>
7
-
8
- <%= hidden_field_tag :e, @cvss_vector['E'] %>
9
-
10
- <div class="btn-group mb-4">
11
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['E'] == 'X' %>" name="e" value="X" data-label="Not Defined" data-cvss="E_X_Label">Not Defined <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
12
-
13
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['E'] == 'U' %>" name="e" value="U" data-label="Unproven" data-cvss="E_U_Label">Unproven <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
14
-
15
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['E'] == 'P' %>" name="e" value="P" data-label="Proof-of-Concept" data-cvss="E_P_Label">Proof-of-Concept <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
16
-
17
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['E'] == 'F' %>" name="e" value="F" data-label="Functional" data-cvss="E_F_Label">Functional <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
18
-
19
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['E'] == 'H' %>" name="e" value="H" data-label="High" data-cvss="E_H_Label">High <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
20
- </div>
21
- </div>
22
-
23
- <div class="inner">
24
- <h5 class="header-underline mt-0" data-cvss="RL_Heading">
25
- Remediation Level (RL)
26
- </h5>
27
-
28
- <%= hidden_field_tag :rl, @cvss_vector['RL'] %>
29
-
30
- <div class="btn-group mb-4">
31
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['RL'] == 'X' %>" name="rl" value="X" data-label="Not Defined" data-cvss="RL_X_Label">Not Defined <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
32
-
33
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['RL'] == 'O' %>" name="rl" value="O" data-label="Official Fix" data-cvss="RL_O_Label">Official Fix <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
34
-
35
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['RL'] == 'T' %>" name="rl" value="T" data-label="Temporary Fix" data-cvss="RL_T_Label">Temporary Fix <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
36
-
37
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['RL'] == 'W' %>" name="rl" value="W" data-label="Workaround" data-cvss="RL_W_Label">Workaround <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
38
-
39
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['RL'] == 'U' %>" name="rl" value="U" data-label="Unavailable" data-cvss="RL_U_Label">Unavailable <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
40
- </div>
41
- </div>
42
-
43
- <div class="inner">
44
- <h5 class="header-underline mt-0" data-cvss="RC_Heading">
45
- Report Confidence (RC)
46
- </h5>
47
-
48
- <%= hidden_field_tag :rc, @cvss_vector['RC'] %>
49
-
50
- <div class="btn-group mb-4">
51
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['RC'] == 'X' %>" name="rc" value="X" data-label="Not Defined" data-cvss="RC_X_Label">Not Defined <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
52
-
53
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['RC'] == 'U' %>" name="rc" value="U" data-label="Unknown" data-cvss="RC_U_Label">Unknown <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
54
-
55
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['RC'] == 'R' %>" name="rc" value="R" data-label="Reasonable" data-cvss="RC_R_Label">Reasonable <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
56
-
57
- <button type="button" class="btn <%= 'active btn-primary' if @cvss_vector['RC'] == 'C' %>" name="rc" value="C" data-label="Confirmed" data-cvss="RC_C_Label">Confirmed <i class="fa-regular fa-question-circle" aria-hidden="true"></i></button>
58
- </div>
59
-
60
- </div>
61
-
62
- <p>
63
- The Temporal metrics measure the current state of exploit techniques or code
64
- availability, the existence of any patches or workarounds, or the confidence
65
- that one has in the description of a vulnerability.
66
- </p>
67
- </section>