CVE Catalog

CVE-2026-82759

LowCVSS 1.8
Published: Translated: NVD NIST

Summary

Use of a one-way hash with a predictable salt in team-alembic AshAuthentication allows readers of the audit store to recover client IP addresses that the :hash privacy mode is supposed to pseudonymise. The hash_ip/1 function uses a single unkeyed SHA-256 hash with a salt that defaults to a constant published in the source code, allowing full precomputation of the hash table for the IPv4 address space. Truncation to 16 hex characters does not prevent recovery, and even a properly configured salt can be brute-forced once leaked.

Risk Assessment

Attackers with read access to the audit store can de-anonymize client IP addresses, leading to privacy breaches and potential exposure of user activity. This can also undermine compliance with data protection regulations.

Recommendation

Upgrade ash_authentication to a fixed version (4.15.0 or later, or 5.0.0-rc.14 or later) and ensure a strong, randomly generated salt is configured for the audit log's :hash privacy mode.

Other vulnerabilities in AshAuthentication

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS