Statut consultatif
CVE-2025-56005 décrit une désérialisation non sécurisée via la prise en charge des cornichons de la table d'analyse de PLY. L'enregistrement actuel NVD/CVE comporte une note de contestation : un tiers affirme que la preuve publiée ne démontre pas l'exécution de code arbitraire. Red Hat traite le problème comme dépendant du contexte et le juge important plutôt que d'accepter la note critique universelle initiale. [S1] [S2]
Quand le risque est réel
La source PLY 3.11 accepte un chemin de pickle de table d'analyseur et, lorsqu'un fichier existant est présent, le lit avec le chargeur de pickle de Python. Python pickle n'est pas sûr au-delà des limites de confiance, car le chargement de données contrefaites peut exécuter du code. La condition dangereuse nécessite donc à la fois l'utilisation explicite de la fonctionnalité pickle de la table d'analyse et un moyen permettant à un utilisateur moins fiable, un chemin de téléchargement, une tâche de build, un volume partagé, un service frère ou une source d'artefact compromise de créer ou de remplacer le fichier. [S2] [S3]
Les preuves du référentiel ne peuvent à elles seules prouver que l'analyseur s'exécute en production, que le fichier existe ou qu'un attaquant peut l'influencer. Ces questions de déploiement et de système de fichiers déterminent si la configuration est exploitable.
Corrections concrètes
- Supprimez l'option pickle de la table d'analyse de la construction de l'analyseur PLY.
- Générez des tables d'analyseur à partir d'une source de grammaire fiable via le chemin de construction/importation normal de PLY.
- Supprimez les anciens fichiers Pickle de la table d'analyse du contrôle de source, créez les sorties, les caches, les couches de conteneurs, les magasins d'artefacts et les volumes déployés avant la reconstruction.
- Vérifiez la propriété des répertoires de build et d'exécution afin que les téléchargements, les locataires, les utilisateurs, les tâches CI et les services frères ne puissent pas remplacer les artefacts de l'analyseur.
- Exécutez des tests de régression d'analyseur normaux et reconstruisez à partir d'un espace de travail propre. N'ouvrez pas un cornichon suspect pour tester s'il est malveillant.
Les sources examinées n'identifient pas de version PLY corrigée, et PyPI répertorie toujours la version 3.11 comme version actuelle. La suppression de la configuration non sécurisée constitue une correction directe plutôt que d'attendre un correctif de version uniquement. [S2] [S4]
Comment FixVibe le couvre
Couvert par FixVibe. Les analyses autorisées du référentiel GitHub examinent la configuration de l'analyseur Python pour une utilisation explicite du chemin de désérialisation non sécurisé de la table d'analyseur de PLY. Les résultats sont signalés sous forme de problèmes probables de haute gravité liés à l'emplacement de la source et d'une liste claire de ce qui reste non vérifié.
FixVibe n'ouvre pas les fichiers de table d'analyseur, n'exécute pas les charges utiles Python, n'exécute pas l'analyseur et ne revendique pas l'exécution de code à distance à partir des preuves du référentiel. Il ne signale pas non plus une dépendance PLY en soi ; le référentiel doit contenir la configuration source non sécurisée.
