numerique-gouv / people

Teams management application
MIT License
13 stars 1 forks source link

Add (and fail) Trivy security scan #500

Closed Morendil closed 3 weeks ago

Morendil commented 3 weeks ago

Purpose

This PR is a draft-only version of #429, destined to be closed without merging, to check the results produced by Trivy prior to fixing the CVEs.

Morendil commented 3 weeks ago

Example Trivy output without applying CVE fixes (from build-and-push-frontend):

========================================================================================
Total: 33 (HIGH: 24, CRITICAL: 9)

┌──────────────────┬────────────────┬──────────┬──────────────┬─────────────────────────┬───────────────────┬──────────────────────────────────────────────────────────────┐
│     Library      │ Vulnerability  │ Severity │    Status    │    Installed Version    │   Fixed Version   │                            Title                             │
├──────────────────┼────────────────┼──────────┼──────────────┼─────────────────────────┼───────────────────┼──────────────────────────────────────────────────────────────┤
│ curl             │ CVE-2024-2398  │ HIGH     │ fixed        │ 7.88.1-10+deb12u5       │ 7.88.1-10+deb12u6 │ curl: HTTP/2 push headers memory-leak                        │
│                  │                │          │              │                         │                   │ https://avd.aquasec.com/nvd/cve-2024-2398                    │
├──────────────────┼────────────────┼──────────┼──────────────┼─────────────────────────┼───────────────────┼──────────────────────────────────────────────────────────────┤
│ libaom3          │ CVE-2023-6879  │ CRITICAL │ affected     │ 3.6.0-1                 │                   │ aom: heap-buffer-overflow on frame size change               │
│                  │                │          │              │                         │                   │ https://avd.aquasec.com/nvd/cve-2023-6879                    │
│                  ├────────────────┤          ├──────────────┤                         ├───────────────────┼──────────────────────────────────────────────────────────────┤
│                  │ CVE-2024-5171  │          │ fixed        │                         │ 3.6.0-1+deb12u1   │ libaom: Integer overflow in internal                         │
│                  │                │          │              │                         │                   │ function img_alloc_helper                                    │
│                  │                │          │              │                         │                   │ https://avd.aquasec.com/nvd/cve-2024-5171                    │
│                  ├────────────────┼──────────┼──────────────┤                         ├───────────────────┼──────────────────────────────────────────────────────────────┤
│                  │ CVE-2023-39616 │ HIGH     │ affected     │                         │                   │ AOMedia v3.0.0 to v3.5.0 was discovered to contain an        │
│                  │                │          │              │                         │                   │ invalid read mem...                                          │
│                  │                │          │              │                         │                   │ https://avd.aquasec.com/nvd/cve-2023-39616                   │
├──────────────────┼────────────────┤          ├──────────────┼─────────────────────────┼───────────────────┼──────────────────────────────────────────────────────────────┤
│ libcurl4         │ CVE-2024-2398  │          │ fixed        │ 7.88.1-10+deb12u5       │ 7.88.1-10+deb12u6 │ curl: HTTP/2 push headers memory-leak                        │
│                  │                │          │              │                         │                   │ https://avd.aquasec.com/nvd/cve-2024-2398                    │
├──────────────────┼────────────────┼──────────┤              ├─────────────────────────┼───────────────────┼──────────────────────────────────────────────────────────────┤
│ libexpat1        │ CVE-2024-45491 │ CRITICAL │              │ 2.5.0-1                 │ 2.5.0-1+deb12u1   │ libexpat: Integer Overflow or Wraparound                     │
│                  │                │          │              │                         │                   │ https://avd.aquasec.com/nvd/cve-2024-45491                   │
│                  ├────────────────┤          │              │                         │                   ├──────────────────────────────────────────────────────────────┤
│                  │ CVE-2024-45492 │          │              │                         │                   │ libexpat: integer overflow                                   │
│                  │                │          │              │                         │                   │ https://avd.aquasec.com/nvd/cve-2024-45492                   │
│                  ├────────────────┼──────────┼──────────────┤                         ├───────────────────┼──────────────────────────────────────────────────────────────┤
│                  │ CVE-2023-52[425](https://github.com/numerique-gouv/people/actions/runs/11591632767/job/32272941783?pr=500#step:8:430) │ HIGH     │ affected     │                         │                   │ expat: parsing large tokens can trigger a denial of service  │
│                  │                │          │              │                         │                   │ https://avd.aquasec.com/nvd/cve-2023-52425                   │
│                  ├────────────────┤          ├──────────────┤                         ├───────────────────┼──────────────────────────────────────────────────────────────┤
│                  │ CVE-2024-45490 │          │ fixed        │                         │ 2.5.0-1+deb12u1   │ libexpat: Negative Length Parsing Vulnerability in libexpat  │
│                  │                │          │              │                         │                   │ https://avd.aquasec.com/nvd/cve-2024-45490                   │
├──────────────────┼────────────────┼──────────┤              ├─────────────────────────┼───────────────────┼──────────────────────────────────────────────────────────────┤
│ libgssapi-krb5-2 │ CVE-2024-37371 │ CRITICAL │              │ 1.20.1-2+deb12u1        │ 1.20.1-2+deb12u2  │ krb5: GSS message token handling                             │
│                  │                │          │              │                         │                   │ https://avd.aquasec.com/nvd/cve-2024-37371                   │
│                  ├────────────────┼──────────┼──────────────┤                         ├───────────────────┼──────────────────────────────────────────────────────────────┤
│                  │ CVE-2024-26462 │ HIGH     │ affected     │                         │                   │ krb5: Memory leak at /krb5/src/kdc/ndr.c                     │
│                  │                │          │              │                         │                   │ https://avd.aquasec.com/nvd/cve-2024-26462                   │
│                  ├────────────────┤          ├──────────────┤                         ├───────────────────┼──────────────────────────────────────────────────────────────┤
│                  │ CVE-2024-37370 │          │ fixed        │                         │ 1.20.1-2+deb12u2  │ krb5: GSS message token handling                             │
│                  │                │          │              │                         │                   │ https://avd.aquasec.com/nvd/cve-2024-37370                   │
├──────────────────┼────────────────┤          │              ├─────────────────────────┼───────────────────┼──────────────────────────────────────────────────────────────┤
│ libheif1         │ CVE-2023-49462 │          │              │ 1.15.1-1                │ 1.15.1-1+deb12u1  │ libheif v1.17.5 was discovered to contain a segmentation     │
│                  │                │          │              │                         │                   │ violation via ...                                            │
│                  │                │          │              │                         │                   │ https://avd.aquasec.com/nvd/cve-2023-49462                   │
├──────────────────┼────────────────┼──────────┤              ├─────────────────────────┼───────────────────┼──────────────────────────────────────────────────────────────┤
│ libk5crypto3     │ CVE-2024-37371 │ CRITICAL │              │ 1.20.1-2+deb12u1        │ 1.20.1-2+deb12u2  │ krb5: GSS message token handling                             │
│                  │                │          │              │                         │                   │ https://avd.aquasec.com/nvd/cve-2024-37371                   │
│                  ├────────────────┼──────────┼──────────────┤                         ├───────────────────┼──────────────────────────────────────────────────────────────┤
│                  │ CVE-2024-26462 │ HIGH     │ affected     │                         │                   │ krb5: Memory leak at /krb5/src/kdc/ndr.c                     │
│                  │                │          │              │                         │                   │ https://avd.aquasec.com/nvd/cve-2024-26462                   │
│                  ├────────────────┤          ├──────────────┤                         ├───────────────────┼──────────────────────────────────────────────────────────────┤
│                  │ CVE-2024-37370 │          │ fixed        │                         │ 1.20.1-2+deb12u2  │ krb5: GSS message token handling                             │
│                  │                │          │              │                         │                   │ https://avd.aquasec.com/nvd/cve-2024-37370                   │
├──────────────────┼────────────────┼──────────┤              │                         │                   ├──────────────────────────────────────────────────────────────┤
│ libkrb5-3        │ CVE-2024-37371 │ CRITICAL │              │                         │                   │ krb5: GSS message token handling                             │
│                  │                │          │              │                         │                   │ https://avd.aquasec.com/nvd/cve-2024-37371                   │
│                  ├────────────────┼──────────┼──────────────┤                         ├───────────────────┼──────────────────────────────────────────────────────────────┤
│                  │ CVE-2024-26462 │ HIGH     │ affected     │                         │                   │ krb5: Memory leak at /krb5/src/kdc/ndr.c                     │
│                  │                │          │              │                         │                   │ https://avd.aquasec.com/nvd/cve-2024-26462                   │
│                  ├────────────────┤          ├──────────────┤                         ├───────────────────┼──────────────────────────────────────────────────────────────┤
│                  │ CVE-2024-37370 │          │ fixed        │                         │ 1.20.1-2+deb12u2  │ krb5: GSS message token handling                             │
│                  │                │          │              │                         │                   │ https://avd.aquasec.com/nvd/cve-2024-37370                   │
├──────────────────┼────────────────┼──────────┤              │                         │                   ├──────────────────────────────────────────────────────────────┤
│ libkrb5support0  │ CVE-2024-37371 │ CRITICAL │              │                         │                   │ krb5: GSS message token handling                             │
│                  │                │          │              │                         │                   │ https://avd.aquasec.com/nvd/cve-2024-37371                   │
│                  ├────────────────┼──────────┼──────────────┤                         ├───────────────────┼──────────────────────────────────────────────────────────────┤
│                  │ CVE-2024-26462 │ HIGH     │ affected     │                         │                   │ krb5: Memory leak at /krb5/src/kdc/ndr.c                     │
│                  │                │          │              │                         │                   │ https://avd.aquasec.com/nvd/cve-2024-26462                   │
│                  ├────────────────┤          ├──────────────┤                         ├───────────────────┼──────────────────────────────────────────────────────────────┤
│                  │ CVE-2024-37370 │          │ fixed        │                         │ 1.20.1-2+deb12u2  │ krb5: GSS message token handling                             │
│                  │                │          │              │                         │                   │ https://avd.aquasec.com/nvd/cve-2024-37370                   │
├──────────────────┼────────────────┤          ├──────────────┼─────────────────────────┼───────────────────┼──────────────────────────────────────────────────────────────┤
│ libldap-2.5-0    │ CVE-2023-2953  │          │ affected     │ 2.5.13+dfsg-5           │                   │ openldap: null pointer dereference in ber_memalloc_x         │
│                  │                │          │              │                         │                   │ function                                                     │
│                  │                │          │              │                         │                   │ https://avd.aquasec.com/nvd/cve-2023-2953                    │
├──────────────────┼────────────────┤          ├──────────────┼─────────────────────────┼───────────────────┼──────────────────────────────────────────────────────────────┤
│ libsystemd0      │ CVE-2023-50387 │          │ fixed        │ 252.22-1~deb12u1        │ 252.23-1~deb12u1  │ bind9: KeyTrap - Extreme CPU consumption in DNSSEC validator │
│                  │                │          │              │                         │                   │ https://avd.aquasec.com/nvd/cve-2023-50387                   │
│                  ├────────────────┤          │              │                         │                   ├──────────────────────────────────────────────────────────────┤
│                  │ CVE-2023-50868 │          │              │                         │                   │ bind9: Preparing an NSEC3 closest encloser proof can exhaust │
│                  │                │          │              │                         │                   │ CPU resources                                                │
│                  │                │          │              │                         │                   │ https://avd.aquasec.com/nvd/cve-2023-50868                   │
├──────────────────┼────────────────┤          ├──────────────┼─────────────────────────┼───────────────────┼──────────────────────────────────────────────────────────────┤
│ libtiff6         │ CVE-2023-52355 │          │ will_not_fix │ 4.5.0-6+deb12u1         │                   │ libtiff: TIFFRasterScanlineSize64 produce too-big size and   │
│                  │                │          │              │                         │                   │ could cause OOM                                              │
│                  │                │          │              │                         │                   │ https://avd.aquasec.com/nvd/cve-2023-52355                   │
│                  ├────────────────┤          ├──────────────┤                         ├───────────────────┼──────────────────────────────────────────────────────────────┤
│                  │ CVE-2023-52356 │          │ affected     │                         │                   │ libtiff: Segment fault in libtiff in TIFFReadRGBATileExt()   │
│                  │                │          │              │                         │                   │ leading to denial of...                                      │
│                  │                │          │              │                         │                   │ https://avd.aquasec.com/nvd/cve-2023-52356                   │
│                  ├────────────────┤          │              │                         ├───────────────────┼──────────────────────────────────────────────────────────────┤
│                  │ CVE-2024-7006  │          │              │                         │                   │ libtiff: NULL pointer dereference in tif_dirinfo.c           │
│                  │                │          │              │                         │                   │ https://avd.aquasec.com/nvd/cve-2024-7006                    │
├──────────────────┼────────────────┤          ├──────────────┼─────────────────────────┼───────────────────┼──────────────────────────────────────────────────────────────┤
│ libudev1         │ CVE-2023-50387 │          │ fixed        │ 252.22-1~deb12u1        │ 252.23-1~deb12u1  │ bind9: KeyTrap - Extreme CPU consumption in DNSSEC validator │
│                  │                │          │              │                         │                   │ https://avd.aquasec.com/nvd/cve-2023-50387                   │
│                  ├────────────────┤          │              │                         │                   ├──────────────────────────────────────────────────────────────┤
│                  │ CVE-2023-50868 │          │              │                         │                   │ bind9: Preparing an NSEC3 closest encloser proof can exhaust │
│                  │                │          │              │                         │                   │ CPU resources                                                │
│                  │                │          │              │                         │                   │ https://avd.aquasec.com/nvd/cve-2023-50868                   │
├──────────────────┼────────────────┤          ├──────────────┼─────────────────────────┼───────────────────┼──────────────────────────────────────────────────────────────┤
│ libxml2          │ CVE-2024-25062 │          │ affected     │ 2.9.14+dfsg-1.3~deb12u1 │                   │ libxml2: use-after-free in XMLReader                         │
│                  │                │          │              │                         │                   │ https://avd.aquasec.com/nvd/cve-2024-25062                   │
├──────────────────┼────────────────┤          │              ├─────────────────────────┼───────────────────┼──────────────────────────────────────────────────────────────┤
│ perl-base        │ CVE-2023-31484 │          │              │ 5.36.0-7+deb12u1        │                   │ perl: CPAN.pm does not verify TLS certificates when          │
│                  │                │          │              │                         │                   │ downloading distributions over HTTPS...                      │
│                  │                │          │              │                         │                   │ https://avd.aquasec.com/nvd/cve-2023-31484                   │
├──────────────────┼────────────────┼──────────┼──────────────┼─────────────────────────┼───────────────────┼──────────────────────────────────────────────────────────────┤
│ zlib1g           │ CVE-2023-[458](https://github.com/numerique-gouv/people/actions/runs/11591632767/job/32272941783?pr=500#step:8:463)53 │ CRITICAL │ will_not_fix │ 1:1.2.13.dfsg-1         │                   │ zlib: integer overflow and resultant heap-based buffer       │
│                  │                │          │              │                         │                   │ overflow in zipOpenNewFileInZip4_6                           │
│                  │                │          │              │                         │                   │ https://avd.aquasec.com/nvd/cve-2023-45853                   │
└──────────────────┴────────────────┴──────────┴──────────────┴─────────────────────────┴───────────────────┴──────────────────────────────────────────────────────────────┘
Morendil commented 3 weeks ago

Closing as the above comment shows CVEs are detected as desired. However, there are issues with the underlying trivy action, see #429 for further detail.