[security] deps: 9 advisories RUSTSEC dans Cargo.lock (rustls-webpki, tar, quick-xml, rsa) #310
Labels
No labels
autopilot:pending-human
source:analyste
source:defenseur
source:human
source:medic
status:approved
status:blocked
status:in-progress
status:needs-clarification
status:needs-fix
status:ready
status:review
status:triage
type:bug
type:feature
type:infra
type:refactor
type:schema
type:security
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: maximus/Simpl-Resultat#310
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Surfacé par le run CI 328 (PR #309) une fois que #232 a retiré le
|| truequi masquait la sortie decargo audit. Ces advisories existaient déjà — elles n'ont pas été introduites par #232, elles étaient seulement invisibles.error: 9 vulnerabilities found!+warning: 23 allowed warnings foundsur 666 dépendances desrc-tauri/Cargo.lock.Les 9 advisories, avec leur parent
Parents établis par
cargo tree -iet par lecture deCargo.lock(pas de mémoire) :rustls-webpkirustls+rustls-platform-verifier<-reqwest,tauri-plugin-updatertartauri-plugin-updaterquick-xmlplist<-tauri,tauri-codegen,tauri-plugin(build-deps)rsasqlx-mysqlTriage de depart
rustls-webpkiettar— atteignables, correctif trivial. Les deux sont sur le chemin detauri-plugin-updater(téléchargement + décompression d'une mise à jour) et dereqwest(fetch de cours via maximus-api). Correctifs de niveau patch : uncargo update -p rustls-webpki -p tardevrait suffire sans toucherCargo.toml. 6 des 9 advisories tombent ici.quick-xml— probablement bloqué en amont. Le bump est majeur (0.38 -> 0.41) et la dépendance est tirée parplist, lui-même tiré partauri. Rien à faire tant que Tauri n'a pas bumpé, sauf override. À vérifier :plistsert au bundling macOS, donc à confirmer s'il est seulement compilé en build-dependency sur les cibles Linux/Windows (les seules qu'on livre).rsa— vraisemblablement NON atteignable. Le seul parent dans le lock estsqlx-mysql, alors que le projet est SQLite (tauri-plugin-sql).cargo tree -i rsane retourne rien, même avec--target all: c'est un artefact du graphe multi-backend de sqlx, présent dansCargo.locksans être compilé. À confirmer, puis envisager un--ignore RUSTSEC-2023-0071avec la justification écrite dans le workflow (c'est le seul des 9 sans correctif disponible).Les 23 warnings
Essentiellement les bindings gtk-rs GTK3 marqués
no longer maintained(atk,atk-sys,gdk,gdk-sys,gdkwayland-sys,gdkx11...), inhérents à la pile Tauri/webkit sous Linux, plusfxhash. Aucune action possible de notre côté — ils remontent enwarning, pas enerror, et ne font pas échouer l'audit.Pourquoi c'est bloquant maintenant
audit.yml(ajouté par #232) tourne tous les jours à 06:00 UTC et échoue volontairement sur une advisory — c'est son rôle de canal de notification. Avec ces 9 advisories, il sera rouge dès le premier run et en permanence tant que rien n'est fait. Un job quotidien rouge en continu finit ignoré, ce qui reproduit exactement le problème que le|| truecausait.Traiter au moins les 6 advisories
rustls-webpki+tarramène l'audit au vert ou proche, et rend le rouge quotidien de nouveau signifiant.A faire
cargo update -p rustls-webpki -p tar; vérifier quecargo check+cargo testrestent verts (l'updater est sur le chemin).rsan'est pas compilé (cargo tree -i rsa --target allvide) et décider :--ignorejustifié, ou laisser.quick-xml: attendre un bumptauri/plist, ou override.audit.ymlviaworkflow_dispatchet consigner le compte restant.Découvert pendant #232 (PR #309). Aucun lien avec les issues sécurité npm passées (#235-#238, #241), qui portaient sur des dépendances front.
Vérification sur
main(78e8be3) — 2026-07-27cargo audit 0.22.2relancé en local sursrc-tauri/Cargo.lock:error: 9 vulnerabilities found!+warning: 23 allowed warnings foundsur 666 crates — identique au run CI 328. Le constat d'origine tient au byte.Deux des quatre cases de la liste « À faire » se referment.
1.
quick-xml— hors surface produit, rien à attendre de TauriLa case demandait de confirmer si
plistn'est compilé qu'en build-dependency sur les cibles Linux/Windows. C'est confirmé, et plus net que prévu :quick-xmln'est compilé sur aucune des deux cibles livrées.cargo tree -i quick-xmlx86_64-pc-windows-msvcx86_64-unknown-linux-gnux86_64-apple-darwinquick-xml 0.38.4 ← plist 1.8.0 ← tauri 2.10.2plistest une dépendance conditionnelle Apple — il n'entre dans le graphe que sur une cible Darwin, qu'on ne livre pas. Les deux advisories 7.5 high (RUSTSEC-2026-0194 / -0195) sont donc inatteignables dans le binaire livré, au même titre quersa. Il n'y a ni bump Tauri à attendre, ni override à poser.2.
rsa— confirmé absent de tout arbrecargo tree -i rsa --target all→ nothing to print. Artefact du graphe multi-backend de sqlx (sqlx-mysql), jamais compilé sur un projet SQLite. Le triage d'origine était correct.3.
rustls-webpki+tar— atteignables, et lecargo updateest validéAtteignables sur la cible hôte, donc sur Linux comme sur Windows :
rustls-webpki 0.103.9 ← rustls / rustls-platform-verifier ← reqwest ← tauri-plugin-updatertar 0.4.44 ← tauri-plugin-updater(direct)cargo update --dry-run -p rustls-webpki -p tar:Les deux correctifs tiennent dans les bornes existantes — aucune modification de
Cargo.toml, comme l'anticipait le triage.0.103.13couvre bien les 4 advisories : la plus exigeante, RUSTSEC-2026-0104, demande ≥ 0.103.13.Chemin vers l'audit vert
cargo update -p rustls-webpki -p tar→ 6 des 9 tombent.cargo auditdeaudit.yml:--ignore RUSTSEC-2026-0194 --ignore RUSTSEC-2026-0195 --ignore RUSTSEC-2023-0071avec la justification en commentaire au-dessus : cible Apple non livrée pour les deux premières,
sqlx-mysqlnon compilé pour la troisième.Ça remet
audit.ymlau vert et lui rend sa valeur de signal.À ajouter — deux crates yanked non listés
Les 23 warnings ne sont pas uniquement du gtk-rs. Deux crates sont yanked :
tauri-plugin-deep-link 2.4.8— dépendance directe desimpl-resultspin 0.9.8— transitifNon bloquant (warning, pas error, et l'audit ne les compte pas dans les 9), mais une dépendance directe retirée de crates.io mérite un coup d'œil au moment du fix.
Note —
audit.ymln'a encore jamais tournéSur les 420 tâches de l'historique Actions du repo, zéro run d'événement
schedule: seulspushetpull_requestapparaissent. Les fenêtres 06:00 UTC des 25, 26 et 27 juillet sont passées sans déclenchement depuis le merge de #232.Le rouge quotidien annoncé n'est donc pas encore observable, et le
workflow_dispatchmanuel reste le seul moyen de valider le fix. Le déclenchement du cron Forgejo est à vérifier séparément.Pendant npm
Le même passage a relevé 2 advisories npm live, non couvertes ici : #311 (
postcssactionnable,react-routerinatteignable).Vérification par
/analyse-vulnerabilite, 2026-07-27.maximus referenced this issue2026-08-15 15:39:23 +00:00