|
2 | 2 | layout: post |
3 | 3 | --- |
4 | 4 |
|
5 | | -<h3>ADVISORIES</h3> |
| 5 | +<div class="advisory-header"> |
| 6 | + <h2>{{ page.advisory.title }}</h2> |
| 7 | + {% if page.advisory.date %} |
| 8 | + <p class="advisory-date"><strong>Published:</strong> {{ page.advisory.date | date: "%B %d, %Y" }}</p> |
| 9 | + {% endif %} |
| 10 | +</div> |
6 | 11 |
|
7 | | -<ul> |
| 12 | +<h3>SECURITY IDENTIFIERS</h3> |
| 13 | + |
| 14 | +<ul class="advisory-identifiers"> |
8 | 15 | {% if page.advisory.cve %} |
9 | 16 | <li> |
10 | | - <a href="https://www.cve.org/CVERecord?id=CVE-{{ page.advisory.cve }}">CVE-{{ page.advisory.cve }}</a> |
| 17 | + <strong>CVE:</strong> <a href="https://www.cve.org/CVERecord?id=CVE-{{ page.advisory.cve }}">CVE-{{ page.advisory.cve }}</a> |
11 | 18 | (<a href="https://nvd.nist.gov/vuln/detail/CVE-{{ page.advisory.cve }}">NVD</a>) |
12 | 19 | </li> |
13 | 20 | {% endif %} |
14 | 21 |
|
15 | 22 | {% if page.advisory.ghsa %} |
16 | 23 | <li> |
17 | | - <a href="https://github.com/advisories/GHSA-{{ page.advisory.ghsa }}">GHSA-{{ page.advisory.ghsa }}</a> |
| 24 | + <strong>GHSA:</strong> <a href="https://github.com/advisories/GHSA-{{ page.advisory.ghsa }}">GHSA-{{ page.advisory.ghsa }}</a> |
18 | 25 | </li> |
19 | 26 | {% endif %} |
20 | 27 |
|
21 | 28 | {% if page.advisory.osvdb %} |
22 | 29 | <li> |
23 | | - OSVDB-{{ page.advisory.osvdb }} |
| 30 | + <strong>OSVDB:</strong> OSVDB-{{ page.advisory.osvdb }} |
24 | 31 | </li> |
25 | 32 | {% endif %} |
26 | 33 |
|
| 34 | +{% if page.advisory.url %} |
27 | 35 | {% unless page.advisory.url contains 'osvdb.org' or page.advisory.url contains 'nvd.nist.gov' |
28 | 36 | or page.advisory.url contains 'cve.mitre.org' or page.advisory.url contains 'cve.org' |
29 | 37 | or page.advisory.url contains 'github.com/advisories' %} |
30 | 38 | <li> |
31 | | - <a href="{{ page.advisory.url }}">Vendor Advisory</a> |
| 39 | + <strong>Vendor Advisory:</strong> <a href="{{ page.advisory.url }}">{{ page.advisory.url }}</a> |
32 | 40 | </li> |
33 | 41 | {% endunless %} |
| 42 | +{% endif %} |
34 | 43 | </ul> |
35 | 44 |
|
36 | 45 | <h3>GEM</h3> |
@@ -90,61 +99,113 @@ <h3>PLATFORM</h3> |
90 | 99 | {% if page.advisory.cvss_v2 or page.advisory.cvss_v3 %} |
91 | 100 | <h3>SEVERITY</h3> |
92 | 101 |
|
| 102 | +<div class="severity-section"> |
93 | 103 | {% if page.advisory.cvss_v3 %} |
94 | 104 | {% assign cvss_v3 = page.advisory.cvss_v3 %} |
95 | | -<p><a href="https://www.first.org/cvss/">CVSS v3.x</a>: {{ cvss_v3 }} ( |
96 | | - {%- if cvss_v3 == 0.0 -%} |
97 | | - None |
98 | | - {%- elsif cvss_v3 >= 0.1 and cvss_v3 <= 3.9 -%} |
99 | | - Low |
100 | | - {%- elsif cvss_v3 >= 4.0 and cvss_v3 <= 6.9 -%} |
101 | | - <span style="color: #FFB507;">Medium</span> |
102 | | - {%- elsif cvss_v3 >= 7.0 and cvss_v3 <= 8.9 -%} |
103 | | - <span style="color: #FF6900;"><strong>High</strong></span> |
104 | | - {%- elsif cvss_v3 >= 9.0 and cvss_v3 <= 10.0 -%} |
105 | | - <span style="color: #D5011B;"><strong>Critical</strong></span> |
106 | | - {%- endif -%} |
107 | | -)</p> |
| 105 | +<div class="cvss-score"> |
| 106 | + <p><strong><a href="https://www.first.org/cvss/">CVSS v3.x</a>:</strong> {{ cvss_v3 }} ( |
| 107 | + {%- if cvss_v3 == 0.0 -%} |
| 108 | + <span class="severity-none">None</span> |
| 109 | + {%- elsif cvss_v3 >= 0.1 and cvss_v3 <= 3.9 -%} |
| 110 | + <span class="severity-low">Low</span> |
| 111 | + {%- elsif cvss_v3 >= 4.0 and cvss_v3 <= 6.9 -%} |
| 112 | + <span class="severity-medium">Medium</span> |
| 113 | + {%- elsif cvss_v3 >= 7.0 and cvss_v3 <= 8.9 -%} |
| 114 | + <span class="severity-high">High</span> |
| 115 | + {%- elsif cvss_v3 >= 9.0 and cvss_v3 <= 10.0 -%} |
| 116 | + <span class="severity-critical">Critical</span> |
| 117 | + {%- endif -%} |
| 118 | + )</p> |
| 119 | +</div> |
108 | 120 | {% endif %} |
| 121 | + |
109 | 122 | {% if page.advisory.cvss_v2 %} |
110 | 123 | {% assign cvss_v2 = page.advisory.cvss_v2 %} |
111 | | -<p><a href="https://www.first.org/cvss/v2/">CVSS v2.0</a>: {{ cvss_v2 }} ( |
112 | | - {%- if cvss_v2 >= 0.0 and cvss_v2 <= 3.9 -%} |
113 | | - Low |
114 | | - {%- elsif cvss_v2 >= 4.0 and cvss_v2 <= 6.9 -%} |
115 | | - <span style="color: #FFB507;">Medium</span> |
116 | | - {%- elsif cvss_v2 >= 7.0 and cvss_v2 <= 10.0 -%} |
117 | | - <span style="color: #D5011B;"><strong>High</strong></span> |
118 | | - {%- endif -%} |
119 | | -)</p> |
| 124 | +<div class="cvss-score"> |
| 125 | + <p><strong><a href="https://www.first.org/cvss/v2/">CVSS v2.0</a>:</strong> {{ cvss_v2 }} ( |
| 126 | + {%- if cvss_v2 >= 0.0 and cvss_v2 <= 3.9 -%} |
| 127 | + <span class="severity-low">Low</span> |
| 128 | + {%- elsif cvss_v2 >= 4.0 and cvss_v2 <= 6.9 -%} |
| 129 | + <span class="severity-medium">Medium</span> |
| 130 | + {%- elsif cvss_v2 >= 7.0 and cvss_v2 <= 10.0 -%} |
| 131 | + <span class="severity-high">High</span> |
| 132 | + {%- endif -%} |
| 133 | + )</p> |
| 134 | +</div> |
120 | 135 | {% endif %} |
| 136 | +</div> |
121 | 137 | {% endif %} |
122 | 138 |
|
123 | 139 | {% if page.advisory.unaffected_versions %} |
124 | 140 | <h3>UNAFFECTED VERSIONS</h3> |
125 | 141 |
|
126 | | -<ul> |
| 142 | +<div class="version-list"> |
127 | 143 | {% for version in page.advisory.unaffected_versions %} |
128 | | - <li><kbd>{{ version | escape }}</kbd></li> |
| 144 | + <span class="version-badge unaffected"><code>{{ version | escape }}</code></span> |
129 | 145 | {% endfor %} |
130 | | -</ul> |
| 146 | +</div> |
131 | 147 | {% endif %} |
132 | 148 |
|
133 | 149 | <h3>PATCHED VERSIONS</h3> |
134 | 150 |
|
| 151 | +<div class="version-list"> |
135 | 152 | {% if page.advisory.patched_versions %} |
136 | | -<ul> |
137 | 153 | {% for version in page.advisory.patched_versions %} |
138 | | - <li><kbd>{{ version | escape }}</kbd></li> |
| 154 | + <span class="version-badge patched"><code>{{ version | escape }}</code></span> |
139 | 155 | {% endfor %} |
140 | | -</ul> |
141 | 156 | {% else %} |
142 | | -<p>None.</p> |
| 157 | + <p class="no-patches">None available.</p> |
143 | 158 | {% endif %} |
| 159 | +</div> |
144 | 160 |
|
145 | 161 | <h3>DESCRIPTION</h3> |
146 | 162 |
|
| 163 | +<div class="advisory-description"> |
147 | 164 | {{ page.advisory.description | xml_escape | markdownify }} |
| 165 | +</div> |
| 166 | + |
| 167 | +{% if page.advisory.impact %} |
| 168 | +<h3>IMPACT</h3> |
| 169 | + |
| 170 | +<div class="advisory-impact"> |
| 171 | +{{ page.advisory.impact | xml_escape | markdownify }} |
| 172 | +</div> |
| 173 | +{% endif %} |
| 174 | + |
| 175 | +{% if page.advisory.workarounds %} |
| 176 | +<h3>WORKAROUNDS</h3> |
| 177 | + |
| 178 | +<div class="advisory-workarounds"> |
| 179 | +{{ page.advisory.workarounds | xml_escape | markdownify }} |
| 180 | +</div> |
| 181 | +{% endif %} |
| 182 | + |
| 183 | +{% if page.advisory.patches %} |
| 184 | +<h3>PATCHES</h3> |
| 185 | + |
| 186 | +<ul class="patch-list"> |
| 187 | +{% for patch in page.advisory.patches %} |
| 188 | + <li><a href="{{ patch.url }}">{{ patch.name | default: patch.url }}</a></li> |
| 189 | +{% endfor %} |
| 190 | +</ul> |
| 191 | +{% endif %} |
| 192 | + |
| 193 | +{% if page.advisory.credits %} |
| 194 | +<h3>CREDITS</h3> |
| 195 | + |
| 196 | +<div class="advisory-credits"> |
| 197 | +{% if page.advisory.credits.size > 0 %} |
| 198 | + <p>Thank you to the following security researchers:</p> |
| 199 | + <ul> |
| 200 | + {% for credit in page.advisory.credits %} |
| 201 | + <li>{{ credit }}</li> |
| 202 | + {% endfor %} |
| 203 | + </ul> |
| 204 | +{% else %} |
| 205 | + <p>{{ page.advisory.credits }}</p> |
| 206 | +{% endif %} |
| 207 | +</div> |
| 208 | +{% endif %} |
148 | 209 |
|
149 | 210 | {% if page.advisory.related %} |
150 | 211 | <h3>RELATED</h3> |
|
0 commit comments