Descripción
pypdftk hasta la versión 0.5 contiene una vulnerabilidad de inyección de comandos del sistema operativo en fill_form(), dump_data_fields() y pdftk_cmd_util(), que construyen comandos de shell a partir de rutas proporcionadas por quien realiza la llamada. Los atacantes que controlen pdf_path o out_file pueden inyectar metacaracteres de shell interpretados por subprocess.Popen con shell=True para ejecutar comandos del sistema operativo como el proceso de Python.
Qué hacer
Revisa si usas el producto afectado y en qué versión, y aplica la actualización o la mitigación que indique el aviso del fabricante. CISA no ha confirmado que se esté explotando; si eso cambia, esta ficha pasa a «explotada» y te avisamos en el boletín.
Versiones afectadas
- pypdftk Afectadas: hasta 0.5
Según el registro de la vulnerabilidad en CVE.org, tal como lo publicó el fabricante. Confirma tu versión exacta en el aviso del fabricante.
Referencias
- Referencia en github.comgithub.com/revolunet/pypdftk/issues/56
- Parchegithub.com/revolunet/pypdftk/pull/57
- Referencia en github.comgithub.com/revolunet/pypdftk/blob/1d3b40c3b42fb3cc6b0192d34aba2c21a1e…
- Referencia en github.comgithub.com/revolunet/pypdftk
- Aviso de vulncheck.comvulncheck.com/advisories/pypdftk-through-0.5-os-command-injection-via…
Ver el texto original en inglés (CVE.org)
pypdftk through 0.5 OS Command Injection via PDF and Output Paths
pypdftk through 0.5 contains an OS command injection vulnerability in fill_form(), dump_data_fields(), and pdftk_cmd_util() that builds shell commands from caller-supplied paths. Attackers controlling pdf_path or out_file can inject shell metacharacters interpreted by subprocess.Popen with shell=True to execute OS commands as the Python process.