Saltar al contenido
CVE-2026-63471 Fuente: CVE.org Publicada · sin explotación confirmada

Vulnerabilidad de ejecución remota de código (RCE) en fastapi-code-generator al importar, mediante la ruta sin escapar en el decorador @app.get('...')

koxudaxi · fastapi-code-generator · Publicada en CVE.org el 03-11-2026 · Última actualización: 09-11-2026

Descripción

fastapi-code-generator crea aplicaciones FastAPI a partir de archivos OpenAPI. En versiones anteriores a la 0.8.1, el generador inserta una ruta de OpenAPI en un decorador de ruta @app.get(...) generado como una cadena entre comillas simples, sin escapar las comillas incrustadas. Una ruta de OpenAPI controlada o influenciada por un atacante puede cerrar la cadena e inyectar una expresión Python válida en el argumento del decorador. Una entrada que rompa la sintaxis solo provoca que la generación falle, pero el código generado sintácticamente válido se ejecuta con los privilegios de la aplicación o del proceso de CI cuando se importa el módulo generado y se evalúa el decorador. Este punto de inyección en la ruta de OpenAPI es distinto de los puntos de inyección separados del proyecto en el docstring del resumen de la operación y en las claves de respuestas adicionales. Este problema está corregido en la versión 0.8.1.

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

  • fastapi-code-generator Afectadas: < 0.8.1

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

Ver el texto original en inglés (CVE.org)

fastapi-code-generator: Import-time RCE via route path -> unescaped @app.get('...') decorator

fastapi-code-generator creates FastAPI applications from OpenAPI files. Prior to 0.8.1, the generator inserts an OpenAPI path into a generated @app.get(...) route decorator as a single-quoted generated route string without escaping embedded quotes. An attacker-controlled or attacker-influenced OpenAPI path can close the string and inject a valid Python expression into the decorator argument. Syntax-breaking input only causes generation to fail, but syntactically valid generated code executes with the application's or CI process's privileges when the generated module is imported and the decorator is evaluated. This OpenAPI path sink is distinct from the project's separate operation-summary docstring and additional-response-key sinks. This issue is fixed in version 0.8.1.

Recibe el boletín cuando CISA agregue vulnerabilidades nuevas

Te escribimos solo cuando CISA agrega vulnerabilidades nuevas, ya traducidas: cada día que haya, o en un resumen los lunes. Confirmas por correo y te das de baja con un clic.

Frecuencia