CVE-2026-82726 in ash_phoenix
Riassunto
di VulDB • 31/08/2026
Una vulnerabilità di Regular Expression permissiva in ash-project ash_phoenix consente a un client remoto di selezionare il tenant utilizzato da un'applicazione Ash o di degradare la richiesta, inviando un header Host manipolato ad hoc.
AshPhoenix.Helpers.get_subdomain/2 rimuoveva il dominio radice utilizzando String.replace(host, ~r/.?#{root_host}/, ""). L'host radice veniva interpolato in modo grezzo (raw), quindi ogni punto (.) diventava un carattere jolly e qualsiasi metacarattere una pattern; inoltre la sostituzione era globale e non ancorata, consentendo di rimuovere una corrispondenza da qualsiasi posizione nella stringa. Con root_host impostato su example.com, l'invio di Host: foo.exampleXcom.attacker.net restituiva il tenant foo.attacker.net. Un host radice contenente metacaratteri o nil degradava la pattern o generava un errore ad ogni richiesta. Il confronto era inoltre case-sensitive (sensibile al maiuscolo/minuscolo), quindi TENANT.EXAMPLE.COM e EXAMPLE.COM bypassavano l'allowlist dell'host radice. conn.host proviene dall'header Host del client. La correzione effettua il match con l'host radice in modo insensitive-case ed esclusivamente come suffisso finale esatto.
Questa issue interessa ash_phoenix: dalle versioni 2.1.26 alla versione precedente la 2.3.25.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.