Estado de aviso
CVE-2025-56005 describe la deserialización insegura a través del soporte de pickle de tabla de analizador de PLY. El registro actual NVD/CVE contiene una nota de disputa: un tercero argumenta que la prueba publicada no demuestra la ejecución de código arbitrario. Red Hat trata el problema como dependiente del contexto y lo califica como Importante en lugar de aceptar la calificación crítica universal original. [S1] [S2]
Cuando el riesgo es real
La fuente PLY 3.11 acepta una ruta pickle de la tabla del analizador y, cuando hay un archivo existente, lo lee con el cargador pickle de Python. Python pickle no es seguro a través de límites de confianza porque la carga de datos manipulados puede ejecutar código. Por lo tanto, la condición peligrosa requiere tanto el uso explícito de la función pickle de la tabla del analizador como una forma para que un usuario menos confiable, una ruta de carga, un trabajo de compilación, un volumen compartido, un servicio hermano o una fuente de artefacto comprometida cree o reemplace el archivo. [S2] [S3]
La evidencia del repositorio por sí sola no puede probar que el analizador se ejecuta en producción, que el archivo existe o que un atacante puede influir en él. Esas preguntas sobre la implementación y el sistema de archivos determinan si la configuración es explotable.
Arreglos concretos
- Elimine la opción de selección de la tabla del analizador de la construcción del analizador PLY.
- Genere tablas del analizador a partir de fuentes gramaticales confiables a través de la ruta normal de compilación/importación de PLY.
- Elimine los archivos pickle de la tabla del analizador antiguos del control de fuente, cree resultados, cachés, capas de contenedores, almacenes de artefactos y volúmenes implementados antes de la reconstrucción.
- Revise la propiedad del directorio de compilación y tiempo de ejecución para que las cargas, los inquilinos, los usuarios, los trabajos de CI y los servicios hermanos no puedan reemplazar los artefactos del analizador.
- Ejecute pruebas de regresión del analizador normal y reconstruya desde un espacio de trabajo limpio. No abra un pepinillo sospechoso para comprobar si es malicioso.
Las fuentes revisadas no identifican una versión de PLY parcheada y PyPI aún incluye la versión 3.11 como la versión actual. Eliminar la configuración insegura es la solución directa en lugar de esperar a que se solucione solo la versión. [S2] [S4]
Cómo lo cubre FixVibe
Cubierto por FixVibe. Los escaneos autorizados del repositorio GitHub revisan la configuración del analizador Python para el uso explícito de la ruta de deserialización insegura de la tabla del analizador de PLY. Los hallazgos se informan como problemas probables de alta gravedad con la ubicación de la fuente y una lista clara de lo que aún no se ha verificado.
FixVibe no abre archivos de tabla de analizador, no ejecuta cargas útiles de Python, no ejecuta el analizador ni reclama la ejecución remota de código desde la evidencia del repositorio. Tampoco señala una dependencia de PLY por sí solo; el repositorio debe contener la configuración de origen no segura.
