Alta

Starlette Denial of service (DoS) via multipart/form-data

  • Publicada: 15.10.2024
  • Actualizado: 11.10.2026 15:17

Summary

Starlette treats multipart/form-data parts without a filename as text form fields and buffers those in byte strings with no size limit. This allows an attacker to upload arbitrary large form fields and cause Starlette to both slow down significantly due to excessive memory allocations and copy operations, and also consume more and more memory until the server starts swapping and grinds to a halt, or the OS terminates the server process with an OOM error. Uploading multiple such requests in parallel may be enough to render a service practically unusable, even if reasonable request size limits are enforced by a reverse proxy in front of Starlette.

PoC

python
from starlette.applications import Starlette
from starlette.routing import Route

async def poc(request):
    async with request.form():
        pass

app = Starlette(routes=[
    Route('/', poc, methods=["POST"]),
])
bash
curl http://localhost:8000 -F 'big=</dev/urandom'

Impact

This Denial of service (DoS) vulnerability affects all applications built with Starlette (or FastAPI) accepting form requests.

Software afectado

Haz clic en una tecnología para ver todas sus vulnerabilidades.

PlataformaPaqueteVersiones vulnerablesCorregida en
Python (PyPI) starlette < 0.40.0 0.40.0

Referencias

Puntuación CVSS 0
Vector CVSS
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:N
Debilidad (CWE)
CWE-770
Plataforma
Python (PyPI)
Paquete
starlette
Publicada
15.10.2024
Actualizado
11.10.2026 15:17

Fuentes y licencias

OSV / GitHub Advisory Database - PYSEC-2026-1943 - PyPA Advisory Database; CC BY 4.0

OSV / GitHub Advisory Database - GHSA-f96h-pmfr-66vw - CC BY 4.0

Historial de vulnerabilidades: starlette

Todas las vulnerabilidades publicadas de este paquete (Python (PyPI)), de la más reciente a la más antigua. Muestra si es un fallo aislado o un paquete que hay que vigilar.

Todas (10) en el archivo
Entradas en total
10
Primera → última
02.2023 06.2026
Sin corrección
0
Explotada en ataques
1

Distribución por gravedad

  • Alta 5
  • Media 4
  • Baja 1

Divulgaciones por año

  1. 2023: 2
  2. 2024: 1
  3. 2025: 2
  4. 2026: 5
Gravedad:
  1. Starlette Denial of service (DoS) via multipart/form-data esta entrada
    Alta · 0.0 CVE-2024-47874 < 0.40.0 0.40.0
  2. Alta · 7.5 CVE-2023-30798 < 0.25.0 0.25.0

Identifica las vulnerabilidades de tu aplicación

Con la integración de DockRay y el inventario de software activado, DockRay compara las versiones notificadas de los componentes con las vulnerabilidades conocidas y avisa de las coincidencias confirmadas. La cobertura depende de la tecnología compatible y de los avisos disponibles.

Conectar tu aplicación
Newsletter DockRay

La seguridad de tus aplicaciones en tu correo

Vulnerabilidades importantes, recomendaciones concretas y consejos prácticos para tus aplicaciones. Elige tus tecnologías y sigue lo que importa para tu proyecto.

  • Un resumen diario de nuevas vulnerabilidades, también las críticas.
  • Avisos sobre actualizaciones importantes.
  • Consejos prácticos sobre seguridad y monitorización de aplicaciones.

Déjalo vacío para recibir avisos de todas las tecnologías.

Suscripción gratuita. Date de baja con un clic en cualquier correo.