Pillow peut divulguer des octets non initialisés de la pile lors de `Image.quantize()` avec une image de palette vide contrôlée par l’utilisateur. Les valeurs divulguées sont copiées dans les pixels du résultat; les versions de Pillow depuis 9.1.0 et antérieures à 13.0.0 sont indiquées comme affectées.
Source : GHSA-rfgq-q3w2-pmv2 — Pillow: Image.quantize() with empty palette leaks uninitialized stack memory
Analyse technique
Avec une palette de taille nulle, le tableau local utilisé pour mettre à jour le cache de palette n’est pas initialisé, puis ses octets sont copiés dans le cache et peuvent être émis dans les pixels de sortie. L’avis décrit une fuite bornée, sans accès hors limites ni corruption mémoire.
Impact, versions et correctif
Détection / vérification
Vérifier la version de Pillow et si l’application accepte des images de palette contrôlées par l’utilisateur comme argument de `Image.quantize()`.
Action recommandée
Mettre à niveau Pillow vers 13.0.0 ou ultérieur; ne pas utiliser de palettes non fiables ou vides avec `Image.quantize()` sur les versions affectées.
Sources
Priorisation DFS : P4 · 1 source(s).