Katalog CVE

CVE-2026-82759

NiskieCVSS 1.8
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

Użycie jednokierunkowego hasha z przewidywalną solą w AshAuthentication (team-alembic) umożliwia czytelnikom magazynu audytu odzyskanie adresów IP klientów, które tryb prywatności :hash ma pseudonimizować. Funkcja hash_ip/1 używa pojedynczego niekluczowanego hasha SHA-256 z solą, która domyślnie jest stałą wartością opublikowaną w źródle, pozwalając na pełną prekomputację tablicy dla przestrzeni IPv4. Skrócenie do 16 znaków heksadecymalnych nie zapobiega odzyskaniu, a nawet poprawnie skonfigurowana sól może zostać odgadnięta po wycieku.

Ocena ryzyka

Atakujący z dostępem do magazynu audytu mogą zdepersonifikować adresy IP klientów, prowadząc do naruszenia prywatności i ujawnienia aktywności użytkowników. Może to również naruszyć zgodność z przepisami o ochronie danych.

Rekomendacja

Zaktualizuj ash_authentication do wersji z poprawką (4.15.0 lub nowszej, 5.0.0-rc.14 lub nowszej) oraz skonfiguruj silną, losową sól dla trybu prywatności :hash w dzienniku audytu.

Inne podatności w AshAuthentication

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

Use of a One-Way Hash with a Predictable Salt vulnerability in team-alembic AshAuthentication allows readers of the audit store to recover the client IP addresses that the audit log add-on's :hash privacy mode is meant to pseudonymise. AshAuthentication.AddOn.AuditLog.IpPrivacy.hash_ip/1 computes a single unkeyed :crypto.hash(:sha256, salt <> ip) and truncates the result to 16 hexadecimal characters. The salt is read from the :audit_log_ip_salt or :secret application config keys, and falls back to the constant "default-salt-change-in-production" published in the library source when neither is set, with nothing warning that the default is in use. The IPv4 space is only 2^32 values and SHA-256 is fast, so the whole hash table is precomputable and every stored value maps back to its source address. Truncating to 16 characters does not help, and even a configured salt leaves the hash cheap enough to enumerate once it leaks. This issue affects ash_authentication: from 4.12.0 before 4.15.0 and from 5.0.0-rc.0 before 5.0.0-rc.14.

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