CVE-2026-82759 PUBLISHED

Reversible IP address pseudonymisation in AshAuthentication audit log hash mode

Assigner: EEF
Reserved: 31.08.2026 Published: 17.09.2026 Updated: 17.09.2026

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.

Metrics

CVSS Vector: CVSS:4.0/AV:L/AC:L/AT:P/PR:H/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
CVSS Score: 1.8

Product Status

Vendor team-alembic
Product ash_authentication
Versions Default: unaffected
  • affected from 4.12.0 to 4.15.0 (excl.)
  • affected from 5.0.0-rc.0 to 5.0.0-rc.14 (excl.)
Vendor team-alembic
Product ash_authentication
Versions Default: unaffected
  • affected from 255cfc9c0e511b7e0de39f8b3d676ae994fae06c to * (excl.)

Affected Configurations

Only applications that enable the audit_log add-on and set its ip_privacy mode to :hash store the affected value. Other modes (:none, :truncate, :exclude) do not reach hash_ip/1.

The complete break additionally requires the default salt, that is neither :audit_log_ip_salt nor :secret configured under the :ash_authentication application. This is the out-of-the-box state: no warning or error is raised when the hardcoded salt is in use.

Credits

  • Jonatan Männchen / EEF analyst
  • James Harton remediation developer
  • Peter Ullrich reporter

References

Problem Types

  • CWE-760 Use of a One-Way Hash with a Predictable Salt CWE

Impacts

  • CAPEC-112 Brute Force