|
2 | 2 |
|
3 | 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 | +<u>Please Note: </u> The alpha VEX files are still in a state of flux as we address known issues. We aim to keep this documentation in sync with the changes, but there may be times when the documentation and implementation are not aligned. If you have questions on any of these changes, please see [How to Provide Feedback](https://redhatproductsecurity.github.io/security-data-guidelines/vex-alpha-details/#how-to-provide-feedback). |
| 6 | + |
5 | 7 | ## Document Section |
6 | 8 | The new alpha VEX files include a few minor changes to the `document` section, outlined in the sections below. |
7 | 9 |
|
@@ -358,6 +360,65 @@ The new alpha VEX files change how multiple product variants are represented. Fo |
358 | 360 | ### Component Changes |
359 | 361 | In additon to the product representation changes, there are a few changes to component representation. |
360 | 362 |
|
| 363 | +#### Component Naming |
| 364 | +A minor change was made to the component naming in the new alpha VEX files. The `product_version.name` and `product.name` fields for components will not include any version information, even when fixed in the new alpha VEX files. |
| 365 | + |
| 366 | +```json |
| 367 | +# Example of legacy VEX component naming for unfixed component |
| 368 | +{ |
| 369 | + "category": "product_version", |
| 370 | + "name": "libxml2.src", |
| 371 | + "product": { |
| 372 | + "name": "libxml2.src", |
| 373 | + "product_id": "libxml2.src", |
| 374 | + "product_identification_helper": { |
| 375 | + "purl": "pkg:rpm/redhat/libxml2?arch=src" |
| 376 | + } |
| 377 | + } |
| 378 | +} |
| 379 | + |
| 380 | +# Example of legacy VEX component naming for fixed component |
| 381 | +{ |
| 382 | + "category": "product_version", |
| 383 | + "name": "libxml2-0:2.9.13-10.el9_6.src", |
| 384 | + "product": { |
| 385 | + "name": "libxml2-0:2.9.13-10.el9_6.src", |
| 386 | + "product_id": "libxml2-0:2.9.13-10.el9_6.src", |
| 387 | + "product_identification_helper": { |
| 388 | + "purl": "pkg:rpm/redhat/libxml2@2.9.13-10.el9_6?arch=src" |
| 389 | + } |
| 390 | + } |
| 391 | +} |
| 392 | +``` |
| 393 | + |
| 394 | +```json |
| 395 | +# Example of alpha VEX component naming for unfixed component |
| 396 | +{ |
| 397 | + "category": "product_version", |
| 398 | + "name": "libxml2", |
| 399 | + "product": { |
| 400 | + "name": "libxml2", |
| 401 | + "product_id": "libxml2", |
| 402 | + "product_identification_helper": { |
| 403 | + "purl": "pkg:rpm/redhat/libxml2?arch=src" |
| 404 | + } |
| 405 | + } |
| 406 | +} |
| 407 | + |
| 408 | +# Example of alpha VEX component naming for fixed component |
| 409 | +{ |
| 410 | + "category": "product_version", |
| 411 | + "name": "libxml2", |
| 412 | + "product": { |
| 413 | + "name": "libxml2", |
| 414 | + "product_id": "libxml2-2.9.13-10.el9_6", |
| 415 | + "product_identification_helper": { |
| 416 | + "purl": "pkg:rpm/redhat/libxml2@2.9.13-10.el9_6?arch=src" |
| 417 | + } |
| 418 | + } |
| 419 | +} |
| 420 | +``` |
| 421 | + |
361 | 422 | #### Architecture Removal |
362 | 423 | In legacy VEX files, fixed components were represented multiple times for their different architectures. To reduce the total number of component and relationship entries, we have decided to remove architecture representation for components in both their `name`, `product_id` and `purl`. The only exception to this is for SRPM components, which will include a ".src" in the `name` and `product_id` and "arch=src" in the `purl`. |
363 | 424 |
|
@@ -412,12 +473,22 @@ In legacy VEX files, fixed components were represented multiple times for their |
412 | 473 |
|
413 | 474 | ```json |
414 | 475 | # Example of alpha VEX component architecture |
415 | | -TO DO: Pending component version fixes |
| 476 | +# Note: Subject to change pending resolution of component version jiras |
| 477 | +{ |
| 478 | + "category": "product_version", |
| 479 | + "name": "glibc", |
| 480 | + "product": { |
| 481 | + "name": "glibc", |
| 482 | + "product_id": "glibc-2.34-231.el9_7.10", |
| 483 | + "product_identification_helper": { |
| 484 | + "purl": "pkg:rpm/redhat/glibc@2.34-231.el9_7.10?arch=src" |
| 485 | + } |
| 486 | + } |
| 487 | +}, |
416 | 488 |
|
417 | 489 | ``` |
418 | 490 | #### Binary RPMs |
419 | | -TO DO |
420 | | - |
| 491 | +More information available soon |
421 | 492 |
|
422 | 493 | ## Vulnerabilities Section |
423 | 494 | Finally, there were a few changes made the the `vulnerabilties` section of the new alpha VEX files. |
|
0 commit comments