fix: planchers de sécurité pip-audit — brotli, filelock, opentelemetry-api, pypdf #224
This commit is contained in:
@@ -180,7 +180,13 @@ jobs:
|
|||||||
# PYSEC-2026-3910 / PYSEC-2026-3911 (pypdf, DoS de ressources sur
|
# PYSEC-2026-3910 / PYSEC-2026-3911 (pypdf, DoS de ressources sur
|
||||||
# l'extraction de texte et la lecture d'outlines — donc atteignables
|
# l'extraction de texte et la lecture d'outlines — donc atteignables
|
||||||
# via backend/pdf_reader.py) sont corrigés par le plancher
|
# via backend/pdf_reader.py) sont corrigés par le plancher
|
||||||
# pypdf>=6.16.1 (BUG-093).
|
# pypdf>=6.16.1 (BUG-093), relevé à pypdf>=6.21.2 par #224 (11 CVE
|
||||||
|
# sur la 6.19.0 de la toolcache, corrigées au plus tard en 6.21.2).
|
||||||
|
# #224 ajoute les planchers brotli>=1.2.1 (PYSEC-2026-4322,
|
||||||
|
# GHSA-9v8h-qqgm-4m35), filelock>=4.2.1 (CVE-2026-112940,
|
||||||
|
# CVE-2026-112913, CVE-2026-112907) et opentelemetry-api>=1.45.1
|
||||||
|
# (CVE-2026-114603) : paquets transitifs ou préinstallés dans la
|
||||||
|
# toolcache, audités mais jamais alignés sans plancher explicite.
|
||||||
# CVE-2026-97687 / CVE-2026-97688 / CVE-2026-97689 (urllib3 2.7.0)
|
# CVE-2026-97687 / CVE-2026-97688 / CVE-2026-97689 (urllib3 2.7.0)
|
||||||
# corrigés par le plancher urllib3>=2.8.0.
|
# corrigés par le plancher urllib3>=2.8.0.
|
||||||
# CVE-2026-104874 (multidict 6.7.x) corrigé par le plancher
|
# CVE-2026-104874 (multidict 6.7.x) corrigé par le plancher
|
||||||
|
|||||||
+21
-1
@@ -6,7 +6,7 @@ Format basé sur [Keep a Changelog](https://keepachangelog.com/fr/1.1.0/),
|
|||||||
et [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
et [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
> **En cours de développement** : les changements à venir sont listés dans la section
|
> **En cours de développement** : les changements à venir sont listés dans la section
|
||||||
> [Unreleased](#unreleased). La dernière version livrée est **2.78.0**.
|
> [Unreleased](#unreleased). La dernière version livrée est **2.78.1**.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -14,6 +14,26 @@ et [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## [2.78.1] — 2026-10-25
|
||||||
|
|
||||||
|
### Corrigé
|
||||||
|
|
||||||
|
- **Sécurité des dépendances — `pip-audit` rouge sur 2.78.0 (#224)** —
|
||||||
|
le job `security` du run CI 2303 signalait 17 vulnérabilités dans
|
||||||
|
4 paquets hérités de l'environnement du runner (versions
|
||||||
|
préinstallées dans la toolcache, jamais alignées car « already
|
||||||
|
satisfied » — même piège que BUG-093). Planchers explicites dans
|
||||||
|
`backend/requirements.txt` : `pypdf>=6.21.2` (11 CVE sur la 6.19.0,
|
||||||
|
dont CVE-2026-113786 et CVE-2026-115572/115585/115580),
|
||||||
|
`brotli>=1.2.1` (PYSEC-2026-4322, GHSA-9v8h-qqgm-4m35),
|
||||||
|
`filelock>=4.2.1` (CVE-2026-112940, CVE-2026-112913,
|
||||||
|
CVE-2026-112907) et `opentelemetry-api>=1.45.1`
|
||||||
|
(CVE-2026-114603). Garde-fou `TestDependencySecurityFloors`
|
||||||
|
étendu ; aucun code applicatif touché, aucun nouvel ignore
|
||||||
|
`pip-audit`. Redéploiement Docker requis.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## [2.78.0] — 2026-10-25
|
## [2.78.0] — 2026-10-25
|
||||||
|
|
||||||
### Modifié
|
### Modifié
|
||||||
|
|||||||
+3
-3
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
**Porte d'entrée web ultra-léger pour vos vaults Obsidian** — Accédez, naviguez et recherchez dans toutes vos notes Obsidian depuis n'importe quel appareil via une interface web moderne et responsive.
|
**Porte d'entrée web ultra-léger pour vos vaults Obsidian** — Accédez, naviguez et recherchez dans toutes vos notes Obsidian depuis n'importe quel appareil via une interface web moderne et responsive.
|
||||||
|
|
||||||
[]()
|
[]()
|
||||||
[](https://opensource.org/licenses/MIT)
|
[](https://opensource.org/licenses/MIT)
|
||||||
[](https://www.docker.com/)
|
[](https://www.docker.com/)
|
||||||
[](https://www.python.org/)
|
[](https://www.python.org/)
|
||||||
@@ -977,8 +977,8 @@ Ce projet est sous licence **MIT** — voir le fichier [LICENSE](LICENSE) pour l
|
|||||||
|
|
||||||
## 📝 Changelog
|
## 📝 Changelog
|
||||||
|
|
||||||
Consultez le [CHANGELOG.md](./CHANGELOG.md) pour l'historique complet de toutes les versions (v1.0.0 → v2.78.0).
|
Consultez le [CHANGELOG.md](./CHANGELOG.md) pour l'historique complet de toutes les versions (v1.0.0 → v2.78.1).
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
*Projet : ObsiGate | Version : 2.78.0 | Dernière mise à jour : Septembre 2026*
|
*Projet : ObsiGate | Version : 2.78.1 | Dernière mise à jour : Septembre 2026*
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
**Ultra-light web gateway for your Obsidian vaults** — Access, browse, and search all your Obsidian notes from any device via a modern, responsive web interface.
|
**Ultra-light web gateway for your Obsidian vaults** — Access, browse, and search all your Obsidian notes from any device via a modern, responsive web interface.
|
||||||
|
|
||||||
[]()
|
[]()
|
||||||
[](https://opensource.org/licenses/MIT)
|
[](https://opensource.org/licenses/MIT)
|
||||||
[](https://www.docker.com/)
|
[](https://www.docker.com/)
|
||||||
[](https://www.python.org/)
|
[](https://www.python.org/)
|
||||||
@@ -1152,8 +1152,8 @@ This project is licensed under the **MIT License** - see the [LICENSE](LICENSE)
|
|||||||
|
|
||||||
## 📝 Changelog
|
## 📝 Changelog
|
||||||
|
|
||||||
See [CHANGELOG.md](./CHANGELOG.md) for the complete version history (v1.0.0 → v2.78.0).
|
See [CHANGELOG.md](./CHANGELOG.md) for the complete version history (v1.0.0 → v2.78.1).
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
*Project: ObsiGate | Version: 2.78.0 | Last updated: September 2026*
|
*Project: ObsiGate | Version: 2.78.1 | Last updated: September 2026*
|
||||||
|
|||||||
@@ -16,13 +16,16 @@ sortedcontainers>=2.4.0
|
|||||||
snowballstemmer>=2.2.0
|
snowballstemmer>=2.2.0
|
||||||
weasyprint>=70.0
|
weasyprint>=70.0
|
||||||
httpx>=0.27.0
|
httpx>=0.27.0
|
||||||
# Plancher de sécurité (BUG-093) : 6.16.0 est vulnérable à deux DoS de
|
# Plancher de sécurité (BUG-093, relevé par #224) : 6.16.0 est vulnérable à
|
||||||
# ressources (PYSEC-2026-3910 outlines, PYSEC-2026-3911 XForm, fix 6.16.1),
|
# deux DoS de ressources (PYSEC-2026-3910 outlines, PYSEC-2026-3911 XForm,
|
||||||
# atteignables via backend/pdf_reader.py (PDF fournis par l'utilisateur).
|
# fix 6.16.1), atteignables via backend/pdf_reader.py (PDF fournis par
|
||||||
# Le plancher doit être >= 6.16.1 : l'image Act du runner embarque 6.16.0
|
# l'utilisateur). #224 : la version préinstallée dans la toolcache du
|
||||||
# dans sa toolcache Python, donc un plancher trop bas est « already satisfied »
|
# runner (6.19.0) est frappée par 11 CVE supplémentaires (dont
|
||||||
# et n'est jamais mis à niveau.
|
# CVE-2026-113786, CVE-2026-115572, CVE-2026-115585, CVE-2026-115580),
|
||||||
pypdf>=6.16.1
|
# corrigées au plus tard en 6.21.2 — le plancher doit être >= 6.21.2 :
|
||||||
|
# en dessous, pip répond « already satisfied » pour la toolcache et
|
||||||
|
# n'aligne jamais (même piège que BUG-093).
|
||||||
|
pypdf>=6.21.2
|
||||||
pyotp>=2.10.0
|
pyotp>=2.10.0
|
||||||
segno>=1.5.0
|
segno>=1.5.0
|
||||||
webauthn==2.6.0
|
webauthn==2.6.0
|
||||||
@@ -55,3 +58,18 @@ multidict>=6.9.1
|
|||||||
# transitive (httpx/requests) — sans plancher explicite, pip-audit
|
# transitive (httpx/requests) — sans plancher explicite, pip-audit
|
||||||
# signale la version héritée de l'environnement.
|
# signale la version héritée de l'environnement.
|
||||||
certifi>=2026.10.19
|
certifi>=2026.10.19
|
||||||
|
# Planchers de sécurité (#224) : paquets transitifs ou préinstallés dans
|
||||||
|
# la toolcache du runner, audités par pip-audit (CI, bloquant) mais jamais
|
||||||
|
# alignés sans plancher explicite — « already satisfied » (même piège que
|
||||||
|
# BUG-093). Versions relevées par le job security du run sur 2.78.0 :
|
||||||
|
# brotli 1.2.0 (transitive fonttools[woff] via weasyprint) — PYSEC-2026-4322
|
||||||
|
# et GHSA-9v8h-qqgm-4m35, corrigées en 1.2.1.
|
||||||
|
brotli>=1.2.1
|
||||||
|
# filelock 3.32.3 (transitive de CacheControl, outil pip-audit, et
|
||||||
|
# préinstallée dans la toolcache) — CVE-2026-112940, CVE-2026-112913 et
|
||||||
|
# CVE-2026-112907, corrigées en 4.2.1.
|
||||||
|
filelock>=4.2.1
|
||||||
|
# opentelemetry-api 1.37.0 (préinstallée dans la toolcache du runner,
|
||||||
|
# aucune dépendance directe d'ObsiGate) — CVE-2026-114603, corrigée
|
||||||
|
# en 1.45.1.
|
||||||
|
opentelemetry-api>=1.45.1
|
||||||
|
|||||||
Generated
+1
-1
@@ -2626,7 +2626,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "obsigate-desktop"
|
name = "obsigate-desktop"
|
||||||
version = "2.78.0"
|
version = "2.78.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"chrono",
|
"chrono",
|
||||||
"env_logger",
|
"env_logger",
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "obsigate-desktop"
|
name = "obsigate-desktop"
|
||||||
version = "2.78.0"
|
version = "2.78.1"
|
||||||
description = "ObsiGate Desktop — Porte d'entrée native pour vos vaults Obsidian"
|
description = "ObsiGate Desktop — Porte d'entrée native pour vos vaults Obsidian"
|
||||||
authors = ["Bruno Charest"]
|
authors = ["Bruno Charest"]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://raw.githubusercontent.com/nicedoc/obsigate/main/desktop/tauri.conf.schema.json",
|
"$schema": "https://raw.githubusercontent.com/nicedoc/obsigate/main/desktop/tauri.conf.schema.json",
|
||||||
"productName": "ObsiGate",
|
"productName": "ObsiGate",
|
||||||
"version": "2.78.0",
|
"version": "2.78.1",
|
||||||
"identifier": "com.obsigate.desktop",
|
"identifier": "com.obsigate.desktop",
|
||||||
"build": {
|
"build": {
|
||||||
"frontendDist": "../frontend",
|
"frontendDist": "../frontend",
|
||||||
|
|||||||
+19
-1
@@ -1,6 +1,6 @@
|
|||||||
# ObsiGate — Roadmap
|
# ObsiGate — Roadmap
|
||||||
|
|
||||||
> **Version :** 2.78.0 | **Dernière mise à jour :** 2026-10-25
|
> **Version :** 2.78.1 | **Dernière mise à jour :** 2026-10-25
|
||||||
> **Ce fichier ne contient que le travail à venir** (🔵 En cours + ⚪ Backlog) et un index compact
|
> **Ce fichier ne contient que le travail à venir** (🔵 En cours + ⚪ Backlog) et un index compact
|
||||||
> vers les fonctionnalités livrées.
|
> vers les fonctionnalités livrées.
|
||||||
> - **Méthode de livraison à appliquer pour toute tâche : [DELIVERY_WORKFLOW.md](./DELIVERY_WORKFLOW.md)**
|
> - **Méthode de livraison à appliquer pour toute tâche : [DELIVERY_WORKFLOW.md](./DELIVERY_WORKFLOW.md)**
|
||||||
@@ -30,6 +30,24 @@
|
|||||||
|
|
||||||
## 🔵 En cours
|
## 🔵 En cours
|
||||||
|
|
||||||
|
### 224. Sécurité des dépendances — pip-audit vierge (brotli, filelock, opentelemetry-api, pypdf)
|
||||||
|
|
||||||
|
- **Effort :** ~0,1 jour | **Impact :** 🔴 | **Ouvert :** 2026-10-25 | **Statut :** ✅ livré le 2026-10-25 (version du hook — voir CHANGELOG ; redéploiement Docker requis)
|
||||||
|
- **Fiche :** [features/securite-dependances-pip-audit-224.md](./features/securite-dependances-pip-audit-224.md)
|
||||||
|
- **Description :** le job `security` du run CI 2303 (2.78.0) échoue
|
||||||
|
sur `pip-audit` : 17 vulnérabilités dans 4 paquets hérités de
|
||||||
|
l'environnement du runner (toolcache « already satisfied », même
|
||||||
|
piège que BUG-093). Planchers explicites dans
|
||||||
|
`backend/requirements.txt` : pypdf relevé à `>=6.21.2`, nouveaux
|
||||||
|
planchers `brotli>=1.2.1`, `filelock>=4.2.1`,
|
||||||
|
`opentelemetry-api>=1.45.1` ; garde-fou `TestDependencySecurityFloors`
|
||||||
|
étendu. Aucun code applicatif, aucun nouvel ignore pip-audit.
|
||||||
|
- **Sous-tâches :**
|
||||||
|
- [x] Planchers de sécurité dans `backend/requirements.txt` + commentaires
|
||||||
|
- [x] Garde-fou `tests/test_ci_workflow.py::TestDependencySecurityFloors` étendu (pypdf 6.21.2, brotli, filelock, opentelemetry-api)
|
||||||
|
- [x] `pip-audit` local : 0 vulnérabilité non ignorée (mêmes ignores que la CI)
|
||||||
|
- [x] Release publiée — CI verte à constater, redéploiement Docker (geste de Bruno)
|
||||||
|
|
||||||
### 223. Dev/prod sans noms publics en dur — URLs de l'écosystème par configuration
|
### 223. Dev/prod sans noms publics en dur — URLs de l'écosystème par configuration
|
||||||
|
|
||||||
- **Effort :** ~0,5 jour | **Impact :** 🟡 | **Ouvert :** 2026-10-25 | **Statut :** ✅ livré le 2026-10-25 (version du hook — voir CHANGELOG ; redéploiement Docker requis, et en dev déclarer les noms en `-dev` dans le `.env` du poste)
|
- **Effort :** ~0,5 jour | **Impact :** 🟡 | **Ouvert :** 2026-10-25 | **Statut :** ✅ livré le 2026-10-25 (version du hook — voir CHANGELOG ; redéploiement Docker requis, et en dev déclarer les noms en `-dev` dans le `.env` du poste)
|
||||||
|
|||||||
@@ -0,0 +1,94 @@
|
|||||||
|
# #224 — Sécurité des dépendances : pip-audit vierge (brotli, filelock, opentelemetry-api, pypdf)
|
||||||
|
|
||||||
|
> Ouvert le 2026-10-25. Déclencheur : le job `security` du run CI 2303
|
||||||
|
> (commit `f29a228`, version 2.78.0) échoue sur `pip-audit` (bloquant,
|
||||||
|
> #87) — **17 vulnérabilités connues dans 4 paquets**. Le job `lint`
|
||||||
|
> du même run est vert ; `security` est le seul job terminé en échec
|
||||||
|
> au moment du constat (`test` en file, `build`/`e2e` en attente).
|
||||||
|
|
||||||
|
## Constat (journal du job `security`, run 2303)
|
||||||
|
|
||||||
|
| Paquet | Version auditée | Vulnérabilités | Corrigée en |
|
||||||
|
|---|---|---|---|
|
||||||
|
| brotli | 1.2.0 | PYSEC-2026-4322, GHSA-9v8h-qqgm-4m35 | 1.2.1 |
|
||||||
|
| filelock | 3.32.3 | CVE-2026-112940, CVE-2026-112913, CVE-2026-112907 | 4.2.1 |
|
||||||
|
| opentelemetry-api | 1.37.0 | CVE-2026-114603 | 1.45.1 |
|
||||||
|
| pypdf | 6.19.0 | CVE-2026-113792, CVE-2026-113795, CVE-2026-113793, CVE-2026-113794, CVE-2026-113786, CVE-2026-113791, CVE-2026-113790, CVE-2026-113789, CVE-2026-115572, CVE-2026-115585, CVE-2026-115580 | 6.20.0 → 6.21.2 selon l'advisory (max 6.21.2) |
|
||||||
|
|
||||||
|
Total : 2 + 3 + 1 + 11 = **17 vulnérabilités**.
|
||||||
|
|
||||||
|
Audit local de confirmation, en deux temps : (1) un venv épinglé sur
|
||||||
|
les versions du runner (brotli 1.2.0, filelock 3.32.3,
|
||||||
|
opentelemetry-api 1.37.0, pypdf 6.19.0) reproduit **exactement** les
|
||||||
|
17 vulnérabilités et les versions corrigées du tableau ci-dessus ;
|
||||||
|
(2) dans le venv du dépôt, `pip-audit` (avec les deux ignores déjà en
|
||||||
|
place dans la CI) ne ressortait avant correctif que brotli 1.2.0
|
||||||
|
(2 advisories, fix 1.2.1) et pypdf 6.21.1 (3 advisories restants,
|
||||||
|
fix 6.21.2) — ce venv a déjà filelock 4.2.4 (corrigée) et ne contient
|
||||||
|
pas opentelemetry-api. L'écart avec la CI vient de l'environnement
|
||||||
|
audité, pas des dépendances déclarées (voir cause).
|
||||||
|
|
||||||
|
## Cause racine
|
||||||
|
|
||||||
|
Même piège que BUG-093 / BUG-095, déjà documenté dans
|
||||||
|
`backend/requirements.txt` et `.gitea/workflows/ci.yml` : `pip-audit`
|
||||||
|
audite **tout l'environnement Python du runner**, dont les paquets
|
||||||
|
préinstallés dans la toolcache de l'image `catthehacker/ubuntu:act-latest`.
|
||||||
|
`pip install -r backend/requirements.txt` répond « already satisfied »
|
||||||
|
pour toute exigence transitive déjà satisfaite par la toolcache et
|
||||||
|
n'aligne jamais la version vulnérable :
|
||||||
|
|
||||||
|
- **pypdf 6.19.0** : préinstallée ; le plancher `>=6.16.1` (BUG-093)
|
||||||
|
est satisfait, pip ne monte pas vers 6.21.2.
|
||||||
|
- **brotli 1.2.0** : transitive de `fonttools[woff]` (via weasyprint),
|
||||||
|
exigée en `>=1.0.1` seulement.
|
||||||
|
- **filelock 3.32.3** : transitive de CacheControl (outil `pip-audit`
|
||||||
|
lui-même) et préinstallée ; exigée en `>=3.8.0` seulement.
|
||||||
|
- **opentelemetry-api 1.37.0** : préinstallée dans la toolcache,
|
||||||
|
aucune dépendance d'ObsiGate ne la demande.
|
||||||
|
|
||||||
|
## Correctif
|
||||||
|
|
||||||
|
Planchers de sécurité explicites dans `backend/requirements.txt`,
|
||||||
|
selon le patron déjà en place (pyjwt, urllib3, multidict, certifi) —
|
||||||
|
aucune autre dépendance touchée, aucun code applicatif modifié :
|
||||||
|
|
||||||
|
- `pypdf>=6.16.1` → **`pypdf>=6.21.2`** (plancher existant relevé) ;
|
||||||
|
- **`brotli>=1.2.1`** (nouveau plancher) ;
|
||||||
|
- **`filelock>=4.2.1`** (nouveau plancher) ;
|
||||||
|
- **`opentelemetry-api>=1.45.1`** (nouveau plancher).
|
||||||
|
|
||||||
|
Garde-fou : `tests/test_ci_workflow.py::TestDependencySecurityFloors`
|
||||||
|
couvre désormais aussi brotli, filelock et opentelemetry-api, et le
|
||||||
|
plancher verrouillé de pypdf passe à (6, 21, 2). Le commentaire de
|
||||||
|
l'étape Pip-audit de `.gitea/workflows/ci.yml` est mis à jour en
|
||||||
|
conséquence (aucune commande CI modifiée).
|
||||||
|
|
||||||
|
## Exceptions (ignores)
|
||||||
|
|
||||||
|
**Aucun nouvel ignore.** Les deux exceptions déjà en place dans la
|
||||||
|
CI restent inchangées et ne concernent pas ces paquets :
|
||||||
|
`PYSEC-2026-1325` (ecdsa, aucun correctif upstream, chemins ECDSA
|
||||||
|
jamais exécutés — HS256 uniquement) et `CVE-2026-85394`
|
||||||
|
(python-jose, aucun correctif upstream, non atteignable — voir le
|
||||||
|
commentaire de l'étape dans `ci.yml`).
|
||||||
|
|
||||||
|
## Vérification
|
||||||
|
|
||||||
|
- `pip-audit` local (mêmes ignores que la CI) après alignement de
|
||||||
|
l'environnement sur les nouveaux planchers : **0 vulnérabilité
|
||||||
|
non ignorée**.
|
||||||
|
- Portes locales du workflow : `pytest tests/`, `ruff check backend/`,
|
||||||
|
`mypy backend/ --ignore-missing-imports`, tests frontend
|
||||||
|
(`validate-imports` + `unit`) — voir le commit #224.
|
||||||
|
- CI Gitea complète verte exigée (lint, test, security, build, e2e)
|
||||||
|
avant de considérer #224 livré.
|
||||||
|
|
||||||
|
## Livraison
|
||||||
|
|
||||||
|
- Commit conventionnel `fix: … #224` ; le hook de version porte
|
||||||
|
2.78.0 → **2.78.1** (correctif) et crée le tag `v2.78.1`, publié
|
||||||
|
au push ; release Gitea créée sur ce tag après vérification de sa
|
||||||
|
cible.
|
||||||
|
- **Redéploiement Docker requis** pour que l'image embarque les
|
||||||
|
dépendances alignées (l'hôte actuel est l'environnement dev).
|
||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "obsigate",
|
"name": "obsigate",
|
||||||
"version": "2.78.0",
|
"version": "2.78.1",
|
||||||
"description": "**Porte d'entrée web ultra-léger pour vos vaults Obsidian** — Accédez, naviguez et recherchez dans toutes vos notes Obsidian depuis n'importe quel appareil via une interface web moderne et responsive.",
|
"description": "**Porte d'entrée web ultra-léger pour vos vaults Obsidian** — Accédez, naviguez et recherchez dans toutes vos notes Obsidian depuis n'importe quel appareil via une interface web moderne et responsive.",
|
||||||
"main": "patch.js",
|
"main": "patch.js",
|
||||||
"directories": {
|
"directories": {
|
||||||
|
|||||||
@@ -251,11 +251,17 @@ class TestDependencySecurityFloors:
|
|||||||
|
|
||||||
#: (paquet, plancher minimal, advisories corrigées au-dessus)
|
#: (paquet, plancher minimal, advisories corrigées au-dessus)
|
||||||
FLOORS = {
|
FLOORS = {
|
||||||
"pypdf": (6, 16, 1), # PYSEC-2026-3910, PYSEC-2026-3911 (fix 6.16.1)
|
# #224 : 6.19.0 (toolcache) frappée par 11 CVE, corrigées au plus
|
||||||
|
# tard en 6.21.2 ; avant : PYSEC-2026-3910/3911 (fix 6.16.1).
|
||||||
|
"pypdf": (6, 21, 2),
|
||||||
# BUG-095 : 2.13.0 a son propre advisory (CVE-2026-102274, fix 2.14.0).
|
# BUG-095 : 2.13.0 a son propre advisory (CVE-2026-102274, fix 2.14.0).
|
||||||
"pyjwt": (2, 14, 0), # PYSEC-2026-178 (2.13.0) puis CVE-2026-102274 (2.14.0)
|
"pyjwt": (2, 14, 0), # PYSEC-2026-178 (2.13.0) puis CVE-2026-102274 (2.14.0)
|
||||||
"urllib3": (2, 8, 0), # CVE-2026-97687, CVE-2026-97688, CVE-2026-97689 (fix 2.8.0)
|
"urllib3": (2, 8, 0), # CVE-2026-97687, CVE-2026-97688, CVE-2026-97689 (fix 2.8.0)
|
||||||
"multidict": (6, 9, 1), # CVE-2026-104874 (fix 6.9.1 ; 6.7.x toolcache runner)
|
"multidict": (6, 9, 1), # CVE-2026-104874 (fix 6.9.1 ; 6.7.x toolcache runner)
|
||||||
|
# #224 : transitives / préinstallées toolcache, auditées par pip-audit.
|
||||||
|
"brotli": (1, 2, 1), # PYSEC-2026-4322, GHSA-9v8h-qqgm-4m35 (fix 1.2.1)
|
||||||
|
"filelock": (4, 2, 1), # CVE-2026-112940, CVE-2026-112913, CVE-2026-112907 (fix 4.2.1)
|
||||||
|
"opentelemetry-api": (1, 45, 1), # CVE-2026-114603 (fix 1.45.1)
|
||||||
}
|
}
|
||||||
|
|
||||||
def test_security_floors_are_declared(self):
|
def test_security_floors_are_declared(self):
|
||||||
|
|||||||
Reference in New Issue
Block a user