Vulnerabilidad crítica en la biblioteca Python PLY permite ejecución remota de código

Python es uno de los lenguajes de programación más utilizados mundialmente, con un ecosistema amplio de bibliotecas disponibles a través de PyPI. Una de estas bibliotecas es PLY (Python Lex‑Yacc), empleada para construir analizadores sintácticos y compiladores en diversas aplicaciones Python. Recientemente se ha reportado una vulnerabilidad crítica en PLY que permite la ejecución remota de código malicioso debido a un manejo inseguro de datos no validados dentro de una funcionalidad no documentada.

PRODUCTOS AFECTADOS

CVEPRODUCTOS Y VERSIONES AFECTADOSSOLUCIÓN
CVE‑2025‑56005PLY (Python Lex‑Yacc) bibliotecas distribuidas en PyPI, especialmente versión 3.11 con parámetro picklefile activoActualizar PLY a la versión segura más reciente (cuando esté disponible), eliminar o deshabilitar el uso del parámetro picklefile y evitar deserializar archivos .pkl de fuentes no confiables

SOLUCIÓN
Actualmente no hay un parche oficial liberado por los mantenedores de PLY en el momento de este reporte; por ello se recomienda:

  • Actualizar PLY a una versión posterior que elimine o corrija la funcionalidad insegura del parámetro picklefile una vez sea publicada.
  • Si no existe una versión corregida disponible, evitar completamente el uso del parámetro picklefile.
  • Revisar y regenerar tablas de parser dinámicamente en lugar de cargar desde archivos .pkl almacenados en disco.
  • Implementar validaciones estrictas de cualquier entrada que involucre archivos de deserialización.

RECOMENDACIONES

  • Auditar todas las aplicaciones Python que utilicen PLY 3.11 o versiones afectadas para identificar cargas inseguras de archivos pickle.
  • Eliminar el uso de deserialización de archivos pickle sin validación previa en todos los entornos de producción.
  • Implementar mecanismos de análisis estático y dinámico que detecten la presencia de parámetros no documentados que puedan ser explotados.
  • Limitar los directorios y rutas desde los cuales se cargan archivos de análisis para reducir la superficie de ataque.

REFERENCIAS

  • https://cybersecuritynews.com/python-ply-library-vulnerability/
  • https://www.pulsepatch.io/posts/cve-2025-56005-ply-remote-code-execution/
  • https://github.com/advisories/GHSA-qc6m-pwr3-g72p
  • https://v2.cvefeed.io/vuln/detail/CVE-2025-56005
  • https://app.opencve.io/cve/CVE-2025-56005