mediumCWE-770A05:2021

Sin Rate Limiting Global

Sin rate limiting global a nivel de edge o middleware, cualquier endpoint puede ser inundado con requests hasta que el servidor se desborde.

Cómo Funciona

El rate limiting por endpoint protege rutas individuales, pero no previene una inundación de requests a endpoints arbitrarios — incluyendo los inexistentes que aún pasan por tu middleware. El rate limiting global en el reverse proxy (Nginx, Cloudflare, Vercel Edge) limita el total de requests por IP en todos los endpoints.

Código Vulnerable
// MAL: solo algunos endpoints tienen rate limiting, sin protección global
// endpoint de login: rate limited
// reset de contraseña: rate limited
// /api/productos: sin rate limit
// /api/busqueda: sin rate limit
// El atacante inunda /api/busqueda con 50,000 requests/minuto
Código Seguro
// BIEN: rate limiting global en middleware de Next.js
// middleware.ts
import { NextResponse } from 'next/server';
import { rateLimit } from '@/lib/rate-limit';

export async function middleware(req: Request) {
  const ip = req.headers.get('x-forwarded-for') ?? '127.0.0.1';
  const { success } = await rateLimit.check(60, ip); // 60 req/min global
  if (!success) return NextResponse.json({ error: 'Demasiadas solicitudes' }, { status: 429 });
  return NextResponse.next();
}

Ejemplo Real

El reporte de Cloudflare de 2023 documentó que los ataques DDoS apuntan cada vez más a endpoints de API específicos en lugar de solo ataques de flood HTTP. Las aplicaciones sin rate limiting global frecuentemente tienen múltiples endpoints de API no protegidos que sirven como vectores de amplificación.

Cómo Prevenirlo

  • Implementa rate limiting global en middleware de Next.js, Nginx o tu capa de reverse proxy
  • Establece límites globales (60 req/min para endpoints generales, 10 req/min para auth) como línea base
  • Usa Cloudflare Rate Limiting Rules o protección similar a nivel de edge para resiliencia DDoS
  • Monitorea tu tasa de rate limit alcanzado — un pico repentino indica un ataque activo o escáner

Tecnologías Afectadas

Node.js

Data Hogo detecta esta vulnerabilidad automáticamente.

Escanea Tu Repo Gratis

Vulnerabilidades Relacionadas