CVE-2022-39945
Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.
NVD · uneditedAn improper access control vulnerability [CWE-284] in FortiMail 7.2.0, 7.0.0 through 7.0.3, 6.4 all versions, 6.2 all versions, 6.0 all versions may allow an authenticated admin user assigned to a specific domain to access and modify other domains information via insecure direct object references (IDOR).
Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.
dbcve analysis · high confidenceFortiMail contains an IDOR vulnerability where an authenticated admin user assigned to one domain can access and modify another domain's mail configuration, user accounts, or policies by manipulating object references in API requests or web interface parameters. This is a horizontal privilege escalation due to missing domain-boundary validation in access control logic.
Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.
Affected products & versions What the vendor confirmedThe version ranges the vendor confirmed as vulnerable. If your version sits inside a range here, treat yourself as exposed until you have upgraded.
NVD · CPE data>= 6.0.0, <= 6.0.12>= 6.2.0, <= 6.2.9>= 6.4.0, <= 6.4.7>= 7.0.0, <= 7.0.3= 7.2.0CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.
From the vector- Attack vector
- Network
- Complexity
- Low
- Privileges
- High
- User interaction
- None
- Scope
- Unchanged
- Confidentiality
- High
- Integrity
- High
- Availability
- None
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N
Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.
dbcve checksWork through these to decide whether this CVE applies to you.
-
Identify FortiMail versionLog into the FortiMail CLI or web UI and locate the firmware version under System > Dashboard > Status or use CLI command 'get system status'Affected if The installed version falls within 6.0.0-6.0.12, 6.2.0-6.2.9, 6.4.0-6.4.7, 7.0.0-7.0.3, or 7.2.0
-
Confirm multi-domain configurationNavigate to Domain & User > Domain > Domain in the web UI or use CLI 'fortimail domain list' to enumerate configured domainsAffected if Multiple domains are configured and the system uses domain-based isolation
-
Review admin domain assignmentsNavigate to System > Administrator > Administrator in the web UI or use CLI 'fortimail admin list' to list all admin accounts and their assigned domainsAffected if Any admin account is assigned to a domain other than 'All' but may need broader access, indicating potential for cross-domain manipulation
-
Audit API request logs for cross-domain accessReview FortiMail logs under Log & Report > Event Log, filtering for API-related admin actions. Look for operations where 'domain' or 'recipient_domain' parameters reference a domain different from the admin's assigned domainAffected if Logs show API operations accessing or modifying objects in domains the admin was not assigned to
-
Inspect access control enforcement on configuration objectsAttempt to access or modify a test object in a different domain using an API call or web parameter while logged in as a domain-restricted admin, or review the API handler code if accessibleAffected if Requests with manipulated domain parameters in object references succeed when they should be rejected by domain-boundary validation
You are affected if FortiMail version is one of the listed vulnerable versions AND multiple domains are configured AND domain-restricted admins exist, as the IDOR allows cross-domain access to mail configuration, user accounts, or policies.
Generated from the published advisory. Verify against your own configuration.
Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.
dbcve · scopedApply Fortinet's patch for the affected FortiMail versions (7.2.0, 7.0.0-7.0.3, 6.4.x, 6.2.x, 6.0.x). Until patched, audit admin domain assignments and monitor for unauthorized cross-domain access attempts.
FortiMail 6.0.13, 6.2.10, 6.4.8, 7.0.4, or 7.2.1 (depending on your version branch)
- 1. Identify the currently installed FortiMail version using the web UI (System > Status) or CLI: 'get system status'
- 2. Based on the installed version line, plan upgrade to the minimum fixed version: For 6.0.x upgrade to 6.0.13 or later; For 6.2.x upgrade to 6.2.10 or later; For 6.4.x upgrade to 6.4.8 or later; For 7.0.x upgrade to 7.0.4 or later; For 7.2.x upgrade to 7.2.1 or later
- 3. Before upgrading, backup the FortiMail configuration via the web UI (System > Configuration > Backup) or CLI: 'execute backup config tftp <config_name> <tftp_server>'
- 4. Review FortiMail upgrade documentation and release notes for any pre-upgrade requirements
- 5. Perform the firmware upgrade via web UI (System > Firmware) or CLI: 'execute firmware upgrade <image_file>'
- 6. After upgrade, verify the new version is installed: 'get system status'
- 7. Confirm the vulnerability is fixed by checking that domain admin users can no longer access other domain resources without proper authorization
Generated from the published advisory — verify against the referenced sources before acting.
- Consultation3.0 h
- Implementation2.0 h
- Testing6.0 h
- Review / QA3.0 h
An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $3,840.
Scan for this in your stack
Free · runs locallyCheck whether your project pulls in CVE-2022-39945 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.
References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.
Primary sourcesPractitioner notes
ContributedPeer-ranked notes from engineers who’ve handled CVE-2022-39945 in production — separate from our analysis above.
The advisory tells you what broke. It rarely tells you what actually worked. If you’ve dealt with this one, that detail is what the next engineer is searching for.
- The version that genuinely resolved it — not the one the vendor claimed
- A config change or rule that shut the vector down
- A gotcha in the upgrade path that cost you an afternoon
No notes yet
Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.
A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.
- Verified mitigations, workarounds, and config changes
- Version or environment caveats, and links to real fixes
- No weaponised exploit code, or anything meant to cause harm
- No spam, self-promotion, credentials, or personal data