Summary
CVE-2026-76876 is a broken access control vulnerability in Craftplan (puemos/craftplan) affecting all versions prior to 0.5.1. The flaw allows unauthenticated attackers to retrieve decrypted SMTP passwords, email API keys, and email API secrets via the Settings API. The issue has been rated High severity (CVSS 8.2).
Technical details
- Root cause: The Settings API resource enforced an "always-allow" authorization policy that bypassed identity verification entirely, instead of restricting access to authenticated staff/administrators.
- Trigger conditions: An attacker sends a direct GET request to the Settings JSON:API endpoint with a valid record identifier — no authentication or session token is required.
- Attack vector: Network — the vulnerable API is reachable remotely, requiring no user interaction and no prior privileges.
- Impact: Disclosure of decrypted SMTP credentials, email API keys, and email API secrets stored in the application’s settings, which could allow an attacker to hijack outbound email infrastructure, send spoofed communications, or pivot to connected email/SMTP provider accounts.
- Weakness classification: CWE-862 (Missing Authorization).
Affected software
- Craftplan (puemos/craftplan) — all versions prior to 0.5.1
Severity
- CVSS v4.0 Base Score: 8.2 (High) —
CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N - CVSS v3.1 Base Score: 5.9 (Medium) —
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
Mitigation and recommended actions
- Immediate: Upgrade Craftplan to version 0.5.1 or later, which restricts Settings JSON:API reads to authorized staff and administrators and prevents SMTP and email-provider credentials from being serialized in API responses.
- If immediate patching is not possible:
- Restrict network access to the Craftplan Settings API endpoint to trusted internal sources only (e.g., via firewall rules or reverse proxy access controls).
- Rotate any SMTP passwords, email API keys, and email API secrets stored in Craftplan settings, since these may already have been exposed.
- Monitor logs for unauthenticated requests to Settings API endpoints as an indicator of exploitation attempts.

