You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This document is intended to cover the changes made in the new release of Alpha VEX files compared to the legacy VEX files. These changes are broken out by the three main CSAF VEX document sections: Document, Product Tree and Vulnerabilities.
3
+
This document is intended to cover the changes made in the new release of alpha VEX files compared to the legacy VEX files. These changes are broken out by the three main CSAF VEX document sections: Document, Product Tree and Vulnerabilities.
4
4
5
5
## Document Section
6
6
7
7
### Document Changes
8
8
9
9
#### Title
10
-
Previously, the `document.title` followed the format component:CVE title. The title in the Alpha VEX files removed the component prefix. This decision was made to simplify the title and remove confusion when a CVE affects multiple components.
10
+
Previously, the `document.title` followed the format component:CVE title. The title in the alpha VEX files removed the component prefix. This decision was made to simplify the title and remove confusion when a CVE affects multiple components.
11
11
12
12
```json
13
13
# Example of legacy VEX title
14
14
"title": "glibc: Integer overflow in memalign leads to heap corruption",
15
15
```
16
16
17
17
```json
18
-
# Example of Alpha VEX title
18
+
# Example of alpha VEX title
19
19
"title": "Integer overflow in memalign leads to heap corruption",
20
20
```
21
21
22
22
#### Tracking
23
-
The `document.tracking` object has two changes in the new Alpha VEX files: the generator name has changed and the revision hisotry has been simplified.
23
+
The `document.tracking` object has two changes in the new alpha VEX files: the generator name has changed and the revision history has been simplified.
24
24
25
-
In the new Alpha VEX files, the `document.tracking.generator.engine.name` now references the new service responsible for creating VEX files, "CSAF Generator".
25
+
In the new alpha VEX files, the `document.tracking.generator.engine.name` now references the new service responsible for creating VEX files, "CSAF Generator".
26
26
27
27
```json
28
28
# Example of legacy VEX generator
@@ -37,7 +37,7 @@ In the new Alpha VEX files, the `document.tracking.generator.engine.name` now re
37
37
```
38
38
39
39
```json
40
-
# Example of Alpha VEX generator
40
+
# Example of alpha VEX generator
41
41
"generator": {
42
42
"date": "2026-02-27T12:07:46+00:00",
43
43
"engine": {
@@ -47,7 +47,7 @@ In the new Alpha VEX files, the `document.tracking.generator.engine.name` now re
47
47
},
48
48
```
49
49
50
-
The `document.tracking.revision_history` has also been updated in the new Alpha VEX files. Previously, the revision history object implemented some logic to create a history of changes, which was neither accurate nor comprehensive of the historical changes to an individual VEX file. In the new Alpha VEX files, there will only be one revision that represents the last generated version.
50
+
The `document.tracking.revision_history` has also been updated in the new alpha VEX files. Previously, the revision history object implemented some logic to create a history of changes, which was neither accurate nor comprehensive of the historical changes to an individual VEX file. In the new alpha VEX files, there will only be one revision that represents the last generated version.
51
51
52
52
```json
53
53
# Example of legacy VEX revision history
@@ -71,7 +71,7 @@ The `document.tracking.revision_history` has also been updated in the new Alpha
71
71
```
72
72
73
73
```json
74
-
# Example of Alpha VEX revision history
74
+
# Example of alpha VEX revision history
75
75
"revision_history": [
76
76
{
77
77
"date": "2026-02-27T12:07:46+00:00",
@@ -82,8 +82,8 @@ The `document.tracking.revision_history` has also been updated in the new Alpha
82
82
83
83
```
84
84
85
-
### Removed Objects
86
-
The following optional objects were removed in the Document section and will not be present in the new Alpha VEX files:
85
+
### Removed Document Objects
86
+
The following optional objects were removed in the document section and will not be present in the new alpha VEX files:
87
87
88
88
*`document.distribution`
89
89
*`document.lang`
@@ -94,22 +94,202 @@ The following optional objects were removed in the Document section and will not
94
94
## Product Tree Section
95
95
96
96
### Branch Removal
97
+
In the product tree section of a VEX file, legacy VEX files use to nest `product_name` objects under `product_family` branches and `product_version` objects under `architecture` branches, depending on the fix status of each. The new alpha VEX files remove any branch nesting. All `product_name` and `product_version` objects will only be nested under the parent `vendor` branch.
98
+
99
+
```json
100
+
# Example of legacy VEX branch nesting
101
+
"branches": [
102
+
{
103
+
"branches": [
104
+
{
105
+
"branches": [
106
+
{
107
+
"category": "product_name",
108
+
"name": "Red Hat Enterprise Linux 8",
109
+
"product": {
110
+
"name": "Red Hat Enterprise Linux 8",
111
+
"product_id": "red_hat_enterprise_linux_8",
112
+
"product_identification_helper": {
113
+
"cpe": "cpe:/o:redhat:enterprise_linux:8"
114
+
}
115
+
}
116
+
}
117
+
],
118
+
"category": "product_family",
119
+
"name": "Red Hat Enterprise Linux 8"
120
+
}
121
+
],
122
+
"category": "vendor",
123
+
"name": "Red Hat"
124
+
}
125
+
],
126
+
```
127
+
128
+
```json
129
+
# Example of alpha VEX branch nesting
130
+
"branches": [
131
+
{
132
+
"category": "vendor",
133
+
"name": "Red Hat",
134
+
"branches": [
135
+
{
136
+
"category": "product_name",
137
+
"name": "Red Hat Enterprise Linux 8.10.z",
138
+
"product": {
139
+
"name": "Red Hat Enterprise Linux 8.10.z",
140
+
"product_id": "rhel-8.10.z",
141
+
"product_identification_helper": {
142
+
"cpe": "cpe:/a:redhat:enterprise_linux:8"
143
+
}
144
+
}
145
+
},
146
+
]
147
+
}
148
+
]
149
+
```
97
150
98
151
### Product Changes
152
+
The new alpha VEX files include three notable changes to product representation: products are now always represented with a minor version, the product naming convention has been modified for improved consistency and product variants have been eliminated for simplicity.
99
153
100
154
#### Product Granularity
155
+
Previously, legacy VEX files only represented a product with a minor version when a fix was available. New alpha VEX files include representation for any supported minor version, regardless of fix status. This change is intended to provide better affectedness information for each support version of a product that may be impacted by a vulnerability.
101
156
102
-
#### Product Names
157
+
In the example for CVE-2026-0861, the [legacy VEX file](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-0861.json) only includes a single `product_name` entry to represent the status of Red Hat Enterprise Linux 8.
158
+
159
+
```json
160
+
# Example of legacy VEX RHEL 8 product representation
161
+
{
162
+
"category": "product_name",
163
+
"name": "Red Hat Enterprise Linux 8",
164
+
"product": {
165
+
"name": "Red Hat Enterprise Linux 8",
166
+
"product_id": "red_hat_enterprise_linux_8",
167
+
"product_identification_helper": {
168
+
"cpe": "cpe:/o:redhat:enterprise_linux:8"
169
+
}
170
+
}
171
+
}
172
+
```
173
+
174
+
The [alpha VEX file](https://security.access.redhat.com/data/csaf/v2/vex-alpha/2026/cve-2026-0861.json) includes 5 `product_name` entries to represent the status of each supported version of Red Hat Enterprise Linux 8.
175
+
176
+
```json
177
+
# Example of alpha VEX RHEL 8 product representation
178
+
{
179
+
"category": "product_name",
180
+
"name": "Red Hat Enterprise Linux 8.10.z",
181
+
"product": {
182
+
"name": "Red Hat Enterprise Linux 8.10.z",
183
+
"product_id": "rhel-8.10.z",
184
+
"product_identification_helper": {
185
+
"cpe": "cpe:/a:redhat:enterprise_linux:8"
186
+
}
187
+
}
188
+
},
189
+
{
190
+
"category": "product_name",
191
+
"name": "Red Hat Enterprise Linux 8.2.0.z",
192
+
"product": {
193
+
"name": "Red Hat Enterprise Linux 8.2.0.z",
194
+
"product_id": "rhel-8.2.0.z",
195
+
"product_identification_helper": {
196
+
"cpe": "cpe:/a:redhat:rhel_aus:8.2"
197
+
}
198
+
}
199
+
},
200
+
{
201
+
"category": "product_name",
202
+
"name": "Red Hat Enterprise Linux 8.4.0.z",
203
+
"product": {
204
+
"name": "Red Hat Enterprise Linux 8.4.0.z",
205
+
"product_id": "rhel-8.4.0.z",
206
+
"product_identification_helper": {
207
+
"cpe": "cpe:/a:redhat:rhel_eus:8.4"
208
+
}
209
+
}
210
+
},
211
+
{
212
+
"category": "product_name",
213
+
"name": "Red Hat Enterprise Linux 8.6.0.z",
214
+
"product": {
215
+
"name": "Red Hat Enterprise Linux 8.6.0.z",
216
+
"product_id": "rhel-8.6.0.z",
217
+
"product_identification_helper": {
218
+
"cpe": "cpe:/a:redhat:rhel_eus:8.6"
219
+
}
220
+
}
221
+
},
222
+
{
223
+
"category": "product_name",
224
+
"name": "Red Hat Enterprise Linux 8.8.0.z",
225
+
"product": {
226
+
"name": "Red Hat Enterprise Linux 8.8.0.z",
227
+
"product_id": "rhel-8.8.0.z",
228
+
"product_identification_helper": {
229
+
"cpe": "cpe:/a:redhat:rhel_eus:8.8"
230
+
}
231
+
}
232
+
},
233
+
```
234
+
235
+
#### Product Naming
236
+
237
+
```json
238
+
# Example of legacy VEX
239
+
```
240
+
241
+
```json
242
+
# Example of alpha VEX
243
+
```
244
+
245
+
#### Product Variants
103
246
104
247
### Component Changes
105
248
106
-
#### Architectural Changes
249
+
#### Architecture Removal
107
250
108
251
## Vulnerabilities Section
109
252
253
+
110
254
### Remediations
111
255
112
256
### CVSS Score
257
+
The new alpha VEX files simplify the representation of CVSS scores by eliminating the individual metrics, which are still represented in the `vectorString`.
0 commit comments