GHSA-xm76-r88j-vm3g

Suggest an improvement
Source
https://github.com/advisories/GHSA-xm76-r88j-vm3g
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/05/GHSA-xm76-r88j-vm3g/GHSA-xm76-r88j-vm3g.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-xm76-r88j-vm3g
Aliases
Published
2026-05-27T21:32:31Z
Modified
2026-09-10T03:50:48Z
Severity
  • 7.5 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N CVSS Calculator
Summary
Automad has Broken Access Control: Unauthenticated exposure of administrator bcrypt password hashes and TOTP secrets via public API endpoint
Details

Summary

A Broken Access Control vulnerability allows an unauthenticated attacker to retrieve the bcrypt password hash of every administrator account with a single POST request. The /_api/user-collection/create-first-user setup endpoint remains publicly accessible once initial configuration is complete and returns full serialized user data in the JSON response body.

Details

Affected version:

  • bcrypt hash exposure: >= 2.0.0-alpha.1, <= 2.0.0-beta.27
  • TOTP secret exposure: only 2.0.0-beta.27

Impact

Any Automad installation reachable over HTTP is at risk no prior account, credentials, or special network position are required to exploit this vulnerability.

Potential impacts include:

  • Credential hash exposure enabling offline brute-force or dictionary attacks: bcrypt password hashes for every administrator are returned in a single unauthenticated response. While hashes are not plaintext passwords, the salt embedded in the hash is not secret it is visible in the response. Administrators using common or weak passwords are at direct risk of having their plaintext password recovered.
  • TOTP secret exposure: The TOTP secret is included in the response starting with version 2.0.0-beta.27, the first release introducing TOTP-based two-factor authentication. If an attacker successfully recovers a plaintext password, two-factor authentication can be bypassed entirely. Only version 2.0.0-beta.27 is affected by this specific issue.
  • Information disclosure: The response discloses the absolute filesystem path to the configuration directory. While the directory structure is publicly documented, the absolute server path may expose environment-specific information.

Remediation

Update to version 2.0.0-beta.28 or later.

This issue was reported privately and fixed prior to public disclosure.

Database specific
{
    "cwe_ids":  [
        "CWE-200",
        "CWE-306"
    ],
    "github_reviewed":  true,
    "github_reviewed_at":  "2026-05-27T21:32:31Z",
    "nvd_published_at":  "2026-05-28T19:16:39Z",
    "severity":  "HIGH"
}
References

Affected packages

Packagist / automad/automad

Package

Name
automad/automad
Purl
pkg:composer/automad/automad

Affected ranges

Type
ECOSYSTEM
Events
Introduced
2.0.0-alpha.1
Fixed
2.0.0-beta.28

Affected versions

2.*
2.0.0-alpha.1
2.0.0-alpha.2
2.0.0-alpha.3
2.0.0-alpha.4
2.0.0-alpha.5
2.0.0-alpha.6
2.0.0-alpha.7
2.0.0-alpha.8
2.0.0-alpha.9
2.0.0-alpha.10
2.0.0-alpha.11
2.0.0-alpha.12
2.0.0-alpha.13
2.0.0-alpha.14
2.0.0-alpha.15
2.0.0-alpha.16
2.0.0-alpha.17
2.0.0-alpha.18
2.0.0-alpha.19
2.0.0-alpha.20
2.0.0-alpha.21
2.0.0-alpha.22
2.0.0-alpha.23
2.0.0-alpha.24
2.0.0-alpha.25
2.0.0-alpha.26
2.0.0-alpha.27
2.0.0-alpha.28
2.0.0-alpha.29
2.0.0-alpha.30
2.0.0-alpha.31
2.0.0-alpha.32
2.0.0-alpha.33
2.0.0-alpha.34
2.0.0-alpha.35
2.0.0-alpha.36
2.0.0-alpha.37
2.0.0-alpha.38
2.0.0-alpha.39
2.0.0-alpha.40
2.0.0-alpha.41
2.0.0-alpha.42
2.0.0-alpha.43
2.0.0-alpha.44
2.0.0-alpha.45
2.0.0-alpha.46
2.0.0-alpha.47
2.0.0-alpha.48
2.0.0-alpha.49
2.0.0-alpha.50
2.0.0-alpha.51
2.0.0-alpha.52
2.0.0-alpha.53
2.0.0-beta.1
2.0.0-beta.2
2.0.0-beta.3
2.0.0-beta.4
2.0.0-beta.5
2.0.0-beta.6
2.0.0-beta.7
2.0.0-beta.8
2.0.0-beta.9
2.0.0-beta.10
2.0.0-beta.11
2.0.0-beta.12
2.0.0-beta.13
2.0.0-beta.14
2.0.0-beta.15
2.0.0-beta.16
2.0.0-beta.17
2.0.0-beta.18
2.0.0-beta.19
2.0.0-beta.20
2.0.0-beta.21
2.0.0-beta.22
2.0.0-beta.23
2.0.0-beta.24
2.0.0-beta.25
2.0.0-beta.26
2.0.0-beta.27

Database specific

last_known_affected_version_range
"<= 2.0.0-beta.27"
source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/05/GHSA-xm76-r88j-vm3g/GHSA-xm76-r88j-vm3g.json"