CVE-2026-47763 in pdm
Resumen
por VulDB • 2026-08-05
pdm es un gestor de paquetes y dependencias para Python que admite los estándares PEP más recientes. En las versiones anteriores a la 2.27.0, pdm escribe varios archivos locales del proyecto (de estado o configuración) sin protección contra enlaces simbólicos (symlinks). Si un repositorio malicioso coloca estos archivos como symlinks, las operaciones locales de PDM pueden sobrescribir los destinos de dichos enlaces. Esto crea una primitiva para la destrucción arbitraria de archivos en relación con los privilegios del usuario que invoca la operación. Config.__init__() resuelve la ruta local al proyecto de pdm.toml y _save_config() escribe en el destino resuelto. Si PROJECT_ROOT/pdm.toml es un symlink指向 otro archivo, pdm config -l ... actualiza el archivo objetivo en lugar de rechazar la escritura.
El mismo problema general existe para otras rutas locales del proyecto que se escriben directamente sin protección lstat / O_NOFOLLOW. Para el PoC específico de pdm.toml, el archivo destino debe contener ya TOML analizable. De lo contrario, la fase de carga falla antes de alcanzar la ruta de escritura. Esta restricción del parser no se aplica a los puntos finales .pdm-python o .python-version. Este problema ha sido corregido en la versión 2.27.0.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.