Vulnerability advisory

CVE-2026-82723

Actor record with password digest stored in AshAuthentication audit log entries

Published Updated OSV record ↗

Also known as EEF-CVE-2026-82723GHSA-59wx-q3r8-ghv4

Severity
  • CVSS 4.0CVSS:4.0/AV:L/AC:H/AT:P/PR:H/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Affected versions

Repository

Affected commitsFixed by commit
GIT github.com/team-alembic/ash_authentication ↗
255cfc9c0e511b7e0de39f8b3d676ae994fae06c to before 17ea0dff3bad56a7e915e050c43ab7160b37901f17ea0dff3bad56a7e915e050c43ab7160b37901f
6928fa715e0fa4c8db6cb052523469093e4ea900 to before d6b2be35cf8f0b8ab84e7a934cfb0d91de0a3c17d6b2be35cf8f0b8ab84e7a934cfb0d91de0a3c17
6767fe27eb952e5bc09aa2e5a7d8f96f5a1c424a to before 05826d33b43acfbe836efe79823fa3058d1b625905826d33b43acfbe836efe79823fa3058d1b6259
Not specified255cfc9c0e511b7e0de39f8b3d676ae994fae06c
Not specifiedf6b49cc98b9ff7c16a1aeb12e35633a8d93a211f
Also listed as affected (14)
  • v4.14.2
  • v4.14.1
  • v4.14.0
  • v4.13.7
  • v5.0.0-rc.1
  • v5.0.0-rc.0
  • v4.13.6
  • v4.13.5
  • v4.13.4
  • v4.13.3
  • v4.13.2
  • v4.13.1
  • v4.13.0
  • v4.12.0

Description

Insertion of Sensitive Information into Log File vulnerability in team-alembic AshAuthentication allows disclosure of user password digests to readers of the audit store.

The audit_log add-on builds each entry's extra_data in AshAuthentication.AddOn.AuditLog.Auditor.build_extra_data/4, which takes :actor from the action callback context verbatim. Any audited action invoked with actor: set to a user record therefore deposits that record, including its hashed_password attribute, into the audit entry. The same module already collapses the audited identity to an opaque string via AshAuthentication.user_to_subject/1 and filters params against the strategy's configured allow-list, so the actor is the only stored value that reaches the audit store unfiltered. Marking the attribute sensitive?: true does not help, because that redacts inspect/1 output rather than JSON encoding or raw-term storage.

There is no attacker-controlled trigger and no network disclosure path: entries accumulate from ordinary authenticated activity, and an attacker's own requests deposit only their own digest. Exploitation requires independent read access to the audit store, such as database credentials, an audit role, a backup, or a log shipper, at which point the digests support offline password attack against every active account. Whether the material persists depends on the data layer, since raw-term stores keep it verbatim while a SQL store raises Protocol.UndefinedError and drops the entry unless the user resource derives Jason.Encoder.

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.2.

References

  • Codex
  • Claude Code
  • VS Code
  • GitHub Copilot
  • Cursor
  • Cline
  • Windsurf
  • Google Anti-gravity
  • OpenCode
  • Pi
  • Gemini CLI
  • Hermes Agent
  • Zed
  • Junie
  • Qwen Code
  • Kiro
  • Kilo Code
  • Factory Droid

Set up GitHits for your agents

Run this command:

<> bash
npx githits@latest init

What happens next:

  1. Opens your browser to authorize GitHits
  2. Asks whether to set up GitHits at the user or project level
  3. Detects your supported AI coding tools
  4. Lets you choose which tools to configure
  5. Configures the selected tools