Skip to content

4.5.0

Choose a tag to compare

@20syldev 20syldev released this 17 Apr 21:04
· 225 commits to master since this release
9a73337

Version 4.5.0 - Avril 2026

  • Correction d'une faille SSRF dans POST /hyperplanning : URL HTTPS obligatoire, IP privées bloquées, timeout de 10 secondes.
  • Correction du rate limit par IP : le calcul était par minute au lieu de par heure, chaque IP pouvait faire 2000 req/min.
  • Suppression du header cf-connecting-ip spoofable, utilisation de req.ip à la place.
  • Ajout d'une protection anti-burst par tier : 50 à 200 requêtes par fenêtre de 10 secondes selon le plan.
  • Création du fichier src/config/plans.ts : configuration centralisée des plans (hourly + burst), overridable via .env.
  • Ajout des variables .env pour le burst : DEFAULT_BURST, ADVANCED_BURST, PRO_BURST, BUSINESS_BURST.
  • Filtrage des messages d'erreur sensibles (paths, stack traces) dans le error handler, avec préservation du status HTTP d'origine.
  • Ajout d'un fallback dans response.ts quand jsonResponse n'est pas encore disponible.
  • Utilisation de Object.hasOwn() pour les accès dynamiques aux modules (GET /algorithms, GET /encode, GET /text, GET /validate).
  • Ajout des headers de sécurité X-Content-Type-Options: nosniff et X-Frame-Options: DENY.
  • Limite de taille du body explicite à 10kb pour express.json() et express.urlencoded().
  • Ajout du status 413 Payload Too Large dans les messages.
  • Nettoyage périodique des IPs inactives et du burst tracker.
  • Ajout de 9 nouveaux tests (305 total) : protection SSRF, headers de sécurité, limite de payload, accès prototype.