fix(deps): CVE bloquantes Trivy — AutoMapper 16.1.1, OpenApi 10.0.11, Newtonsoft 13, SQLitePCLRaw 2.1.13 #128

Merged
nonobis merged 4 commits from fix/cve-packages into main 2026-08-15 09:11:26 +02:00
Owner

Contexte

Trivy (bloquant) détecte 4 CVE HIGH dans les images PR. Ces vulnérabilités sont dans la base du projet (pas liées aux PR #117/#118) → PR dédiée.

Changements

  • AutoMapper 13.0.1 → 16.1.1 (CVE-2026-32933) : AddAutoMapper passe par cfg.AddMaps(assembly) (v16 : plus de surcharge Assembly) ; MapperConfiguration des tests → constructeur 2 args (NullLoggerFactory.Instance).
  • Microsoft.AspNetCore.OpenApi 10.0.8 → 10.0.11 (CVE-2026-49451) : tire Microsoft.OpenApi 2.7.5.
  • Newtonsoft.Json 13.0.1 en référence directe (CVE-2024-21907, transitif 11.0.1 forcé).
  • SQLitePCLRaw.bundle_e_sqlite3 2.1.13 en référence directe (CVE-2025-6965, transitif 2.1.11 forcé).

Tickets liés

Fixes #127

Résultats des tests

  • dotnet build Heimdall.slnx -c Release : 0 erreur, 0 warning
  • Application.Tests (Mapping + NotificationHandler) : 22/22
  • Infrastructure.Tests (NotificationServiceTests, Testcontainers) : 10/10

SonarQube

À valider sur la CI (gate bloquant).

CVE

Corrigées par les bumps ci-dessus (à confirmer par Trivy sur le run).

Checklist

  • PR par ticket
  • Build + tests locaux verts
  • CI verte (Trivy sans HIGH/CRITICAL)
  • Sonar gate OK
## Contexte Trivy (bloquant) détecte 4 CVE HIGH dans les images PR. Ces vulnérabilités sont dans la base du projet (pas liées aux PR #117/#118) → PR dédiée. ## Changements - **AutoMapper 13.0.1 → 16.1.1** (CVE-2026-32933) : AddAutoMapper passe par cfg.AddMaps(assembly) (v16 : plus de surcharge Assembly) ; MapperConfiguration des tests → constructeur 2 args (NullLoggerFactory.Instance). - **Microsoft.AspNetCore.OpenApi 10.0.8 → 10.0.11** (CVE-2026-49451) : tire Microsoft.OpenApi 2.7.5. - **Newtonsoft.Json 13.0.1** en référence directe (CVE-2024-21907, transitif 11.0.1 forcé). - **SQLitePCLRaw.bundle_e_sqlite3 2.1.13** en référence directe (CVE-2025-6965, transitif 2.1.11 forcé). ## Tickets liés Fixes #127 ## Résultats des tests - dotnet build Heimdall.slnx -c Release : 0 erreur, 0 warning - Application.Tests (Mapping + NotificationHandler) : 22/22 - Infrastructure.Tests (NotificationServiceTests, Testcontainers) : 10/10 ## SonarQube À valider sur la CI (gate bloquant). ## CVE Corrigées par les bumps ci-dessus (à confirmer par Trivy sur le run). ## Checklist - [x] PR par ticket - [x] Build + tests locaux verts - [ ] CI verte (Trivy sans HIGH/CRITICAL) - [ ] Sonar gate OK
- AutoMapper 13.0.1 → 16.1.1 (CVE-2026-32933) : AddAutoMapper passe par
  cfg.AddMaps(assembly) (l'extension DI n'accepte plus Assembly en v16) ;
  MapperConfiguration des tests passe au constructeur 2 args (ILoggerFactory).
- Microsoft.AspNetCore.OpenApi 10.0.8 → 10.0.11 (CVE-2026-49451) :
  tire Microsoft.OpenApi 2.7.5.
- Newtonsoft.Json 13.0.1 en référence directe (CVE-2024-21907, transitif 11.0.1).
- SQLitePCLRaw.bundle_e_sqlite3 2.1.13 en référence directe (CVE-2025-6965).

Vérifié : build 0 erreur, Application.Tests 22/22, Infrastructure
NotificationServiceTests 10/10.
Author
Owner

🔍 Revue the-reviewer — Passe 1 (2026-08-14)

Statut : ⚠️ code OK, en attente infra CI

Code — ✅

  • PR dédiée CVE Trivy bloquantes : AutoMapper 13.0.1 → 16.1.1 (adaptation AddAutoMapper(cfg => cfg.AddMaps(assembly)) — API v16), OpenApi 10.0.8 → 10.0.11, Newtonsoft.Json 13 en référence directe (transitif 11.0.1), SQLitePCLRaw → 2.1.13. Adaptations de tests cohérentes (constructeur 2 args NullLoggerFactory).
  • Bien : traiter les CVE dans une PR dédiée, séparée des PR fonctionnelles #117/#118 — exactement le process attendu.

Tests — ✅

  • Tests adaptés au bump AutoMapper (mapping). À confirmer sur le run CI (infra).

CI — ❌ bloquant (infra, cause racine commune vérifiée dans les logs)

Run CI rouge sur toutes les PR nonobis : tests verts mais (1) step sonar-dotnet sans coverage.cobertura.xml (ReportGenerator « No report files specified » — runner qui exécute encore l'ancien template ./.ci/ en cache) ; (2) push image Docker refusé (denied) ; (3) NVD/Dependency-Check très lent (timeout) sur Njord. → mission the-devops en cours.

Conformité — ✅

  • Fixes #127 présent — ticket ouvert ✓.
  • ⚠️ Attention à l'ordre de merge avec #117/#118 (bump de packages dans la même solution) : merger cette PR en premier ou rebaser les autres après.

Verdict — ⚠️ PR prête sur le fond, bloquée par l'infra CI (voir CI). C'est la PR qui débloquera les CVE Trivy sur les images PR.

Actions

  1. the-devops : réparer l'infra CI (blocage commun).

🔄 Mise à jour — Passe 2 (2026-08-14 ~20h30)

Nouveaux commits depuis P1 : fix(deps): SQLitePCLRaw 3.0.5 (SQLite 3.53.4) + DC scan ciblé sur la solution (Fixes #127) + ci: re-run post infra fix.

  • ✅ SQLitePCLRaw poussé à 3.0.5 (SQLite 3.53.4) — au-delà du 2.1.13 initialement annoncé ; le DC scan ciblé sur la solution répond au souci de lenteur NVD.
  • ⚠️ CI toujours rouge au dernier run (339) — vérifier si l'échec est encore l'infra commune (parsing SonarQube.xml / cache runner) ou un point lié à ce bump. À confirmer par the-devops avant validation.

Statut inchangé : ⚠️ code OK, en attente infra CI. C'est la PR qui débloquera les CVE Trivy sur les images PR (et #117 qui dépend d'elle).

Actions mises à jour

  1. the-devops : vérifier le run 339 (infra) et re-déclencher si nécessaire.
  2. Ordre de merge conservé : #128 → #117/#118 (bump packages d'abord).

🔄 Passe 3 (2026-08-14 ~23h15) — détail échec IntegrationTests

Statut : ⚠️ code OK, CI rouge (infra + 1 échec d'intégration)

  • ⚠️ Run 2141 (head 563def1d) : 1 échec dans Heimdall.IntegrationTests — GroupsControllerTests.GetById_NonExistent_ReturnsNotFound sur erreur Npgsql/PostgreSQL (connexion Testcontainers KO) — vraisemblablement infra (PostgreSQL non joignable), à re-confirmer sur le prochain run après fix infra. Les autres projets passent (197 Agent + 391 Application + 142 Domain + 177 Infrastructure).
  • ✅ SQLitePCLRaw poussé à 3.0.5 (cf. P2) — les CVE Trivy seront couvertes.
  • Ordre de merge conservé : #128 d'abord (débloque Trivy sur #117/#130).
## 🔍 Revue the-reviewer — Passe 1 (2026-08-14) **Statut : ⚠️ code OK, en attente infra CI** ### Code — ✅ - PR dédiée CVE Trivy bloquantes : AutoMapper 13.0.1 → 16.1.1 (adaptation `AddAutoMapper(cfg => cfg.AddMaps(assembly))` — API v16), OpenApi 10.0.8 → 10.0.11, Newtonsoft.Json 13 en référence directe (transitif 11.0.1), SQLitePCLRaw → 2.1.13. Adaptations de tests cohérentes (constructeur 2 args NullLoggerFactory). - Bien : traiter les CVE dans une PR dédiée, séparée des PR fonctionnelles #117/#118 — exactement le process attendu. ### Tests — ✅ - Tests adaptés au bump AutoMapper (mapping). À confirmer sur le run CI (infra). ### CI — ❌ bloquant (infra, cause racine commune vérifiée dans les logs) Run CI rouge sur **toutes** les PR nonobis : tests verts mais (1) step sonar-dotnet sans `coverage.cobertura.xml` (ReportGenerator « No report files specified » — runner qui exécute encore l'ancien template `./.ci/` en cache) ; (2) push image Docker refusé (`denied`) ; (3) NVD/Dependency-Check très lent (timeout) sur Njord. → mission **the-devops** en cours. ### Conformité — ✅ - `Fixes #127` présent — ticket ouvert ✓. - ⚠️ Attention à l'ordre de merge avec #117/#118 (bump de packages dans la même solution) : merger cette PR en premier ou rebaser les autres après. ### Verdict — ⚠️ PR prête sur le fond, bloquée par l'infra CI (voir CI). C'est la PR qui débloquera les CVE Trivy sur les images PR. ### Actions 1. the-devops : réparer l'infra CI (blocage commun). --- ## 🔄 Mise à jour — Passe 2 (2026-08-14 ~20h30) **Nouveaux commits depuis P1** : `fix(deps): SQLitePCLRaw 3.0.5 (SQLite 3.53.4) + DC scan ciblé sur la solution (Fixes #127)` + `ci: re-run post infra fix`. - ✅ SQLitePCLRaw poussé à **3.0.5** (SQLite 3.53.4) — au-delà du 2.1.13 initialement annoncé ; le DC scan ciblé sur la solution répond au souci de lenteur NVD. - ⚠️ **CI toujours rouge au dernier run (339)** — vérifier si l'échec est encore l'infra commune (parsing SonarQube.xml / cache runner) ou un point lié à ce bump. À confirmer par the-devops avant validation. **Statut inchangé** : ⚠️ code OK, en attente infra CI. C'est la PR qui débloquera les CVE Trivy sur les images PR (et #117 qui dépend d'elle). ### Actions mises à jour 1. the-devops : vérifier le run 339 (infra) et re-déclencher si nécessaire. 2. Ordre de merge conservé : #128 → #117/#118 (bump packages d'abord). --- ## 🔄 Passe 3 (2026-08-14 ~23h15) — détail échec IntegrationTests **Statut : ⚠️ code OK, CI rouge (infra + 1 échec d'intégration)** - ⚠️ Run 2141 (head `563def1d`) : 1 échec dans `Heimdall.IntegrationTests` — `GroupsControllerTests.GetById_NonExistent_ReturnsNotFound` sur **erreur Npgsql/PostgreSQL** (connexion Testcontainers KO) — vraisemblablement infra (PostgreSQL non joignable), à re-confirmer sur le prochain run après fix infra. Les autres projets passent (197 Agent + 391 Application + 142 Domain + 177 Infrastructure). - ✅ SQLitePCLRaw poussé à 3.0.5 (cf. P2) — les CVE Trivy seront couvertes. - Ordre de merge conservé : #128 d'abord (débloque Trivy sur #117/#130).
fix(deps): SQLitePCLRaw 3.0.5 (SQLite 3.53.4) + DC scan ciblé sur la solution (Fixes #127)
All checks were successful
CI / ci (pull_request) Successful in 14m42s
5dd4e4d84e
- SQLitePCLRaw.bundle_e_sqlite3 2.1.13 → 3.0.5 : embarque SQLite 3.53.4
  (corrige CVE-2020-13630 et CVE-2025-6965 — SQLite < 3.32).
- dependency-check-path: Heimdall.slnx : le DC ne scanne plus les
  package-lock des actions mirrorées dans .ci/ (faux positifs JS :
  undici, minimatch, js-yaml, lodash...) ni .playwright.
ci: re-run post infra fix
Some checks failed
CI / ci (pull_request) Failing after 20m58s
563def1d30
ci: re-run post sérialisation tests DB (flaky Npgsql ResetDatabaseAsync)
Some checks failed
CI / ci (pull_request) Failing after 21m10s
e47d787bf6
nonobis deleted branch fix/cve-packages 2026-08-15 09:11:26 +02:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
nonobis/Heimdall!128
No description provided.