Katalog CVE

CVE-2026-82726

ŚrednieCVSS 6.3
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

W ash-project ash_phoenix wykryto podatność związaną z nadmiernie permisywnym wyrażeniem regularnym, która pozwala zdalnemu klientowi na wybór dzierżawcy (tenanta) używanego przez aplikację Ash lub na degradację żądania poprzez wysłanie spreparowanego nagłówka Host. Funkcja AshPhoenix.Helpers.get_subdomain/2 usuwała domenę główną za pomocą String.replace(host, ~r/.?#{root_host}/, ""), co powodowało, że każda kropka stawała się symbolem wieloznacznym, a porównanie było globalne i niezakotwiczone. Problem dotyczy wersji od 2.1.26 przed 2.3.25.

Ocena ryzyka

Atakujący może uzyskać dostęp do danych innego dzierżawcy lub spowodować awarię aplikacji, co może prowadzić do naruszenia izolacji danych i dostępności usług.

Rekomendacja

Należy zaktualizować ash_phoenix do wersji 2.3.25 lub nowszej, która dopasowuje domenę główną bez uwzględniania wielkości liter i tylko jako dokładny sufiks.

Inne podatności w ash_phoenix

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

Permissive Regular Expression vulnerability in ash-project ash_phoenix lets a remote client select the tenant an Ash application uses, or degrade the request, by sending a crafted Host header. AshPhoenix.Helpers.get_subdomain/2 stripped the root domain with String.replace(host, ~r/.?#{root_host}/, ""). The root host was interpolated raw, so each . became a wildcard and any metacharacter a pattern, and the replace was global and unanchored, so a match was removed from anywhere in the string. With root_host example.com, Host: foo.exampleXcom.attacker.net returned the tenant foo.attacker.net. A metacharacter-bearing or nil root host degraded the pattern or raised on every request. The comparison was also case-sensitive, so TENANT.EXAMPLE.COM and EXAMPLE.COM slipped past the root-host allowlist. conn.host comes from the client Host header. The fix matches the root host case-insensitively and only as an exact trailing suffix. This issue affects ash_phoenix: from 2.1.26 before 2.3.25.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS