Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privileged domain user
-
ExploitEnumerate sequential alarm IDs
-
ExecutionPOST IDs to /api/v2/alarms/bulk_delete/
-
ImpactDelete other domains' monitoring alarms server-wide
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
|
| Exploitation Conditions | Requires a valid authenticated Modoboa account of any privilege level (PR:L); the flaw is in the POST /api/v2/alarms/bulk_delete/ endpoint, which prior to 2.8.0 deleted any alarm by primary key without scoping to the caller's permitted domains. No special configuration, user interaction, or administrative role is needed - it works against default deployments of Modoboa before 2.8.0. The only limiting factor is that the attacker must first hold credentials for some account on the instance; the impact is confined to deletion of monitoring alarms (DNS/MX/blocklist), with no read access to other tenants' data and no direct availability loss to mail services. |
| Impact | This is a genuine but moderate-severity authorization flaw, not a high-urgency emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N) scores 5.3 (Medium), and the signals are internally consistent: network-reachable API, low attack complexity, but requiring an authenticated low-privileged account (PR:L) and yielding only limited integrity impact (VI:L) with no confidentiality or availability loss. The source-code evidence confirms the root cause - the |
| Exploit ScenarioDerived | A user with a low-privileged authenticated account on one Modoboa-hosted domain scripts requests to POST /api/v2/alarms/bulk_delete/ with sequentially enumerated alarm IDs. Because the endpoint filtered across all Alarm objects rather than the caller's queryset, the deletions succeed across every domain, wiping DNS, MX, and blocklist monitoring alarms server-wide and hiding active problems from the administrators responsible for them. No public exploit code is identified, but the source diff makes the one-line flaw and exploitation path trivial to reproduce. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 20, 2026
Authenticated Modoboa users can delete DNS, MX, and blocklist monitoring alarms belonging to other domains in versions before 2.8.0 by submitting arbitrary alarm IDs to the POST /api/v2/alarms/bulk_delete/ endpoint. The issue is a moderate-severity insecure direct object reference (CWE-639): the pre-2.8.0 bulk-delete logic operates on any matching primary key instead of restricting deletion to alarms the caller is allowed to manage, and sequential IDs make other tenants’ alarms enumerable. No public exploit code or confirmed active exploitation was identified in the provided intelligence; the vendor-released fix is Modoboa 2.8.0.
RemediationAI
Upgrade to Modoboa 2.8.0 or later; the vendor-released patch is 2.8.0, and the fixing commit is https://github.com/modoboa/modoboa/commit/e0a4e3b9ee8ad84dba46e4c0f04cbbe7cf78c38d, which scopes bulk alarm deletion to self.get_queryset(). If upgrading immediately is not possible, block or restrict POST /api/v2/alarms/bulk_delete/ at the reverse proxy or application layer to trusted administrative users only-this prevents exploitation but breaks legitimate bulk alarm deletion for ordinary users. As an additional compensating control, alert on API requests containing sequential or out-of-scope alarm IDs and on unexpected alarm deletions, understanding that this is detective rather than preventive. Consult the advisory at https://www.vulncheck.com/advisories/modoboa-before-2.8.0-idor-via-api-v2-alarms-bulk-delete and release notes at https://github.com/modoboa/modoboa/releases/tag/2.8.0.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Modoboa is a Django-based mail hosting and administration platform whose admin API exposes alarm objects used to track DNS, MX, and blocklist monitoring problems. In the vulnerable code path, the API v2 bulk-delete action accepted a list of alarm IDs and executed models.Alarm.objects.filter(pk__in=serializer.validated_data["ids"]).delete(), which bypassed the viewset’s normal object scoping. Because alarm primary keys are sequential, an authenticated user (PR:L in the assessed CVSS vector) could supply IDs outside their permitted domains and suppress monitoring visibility for other domains. The upstream fix changes the deletion to self.get_queryset().filter(pk__in=...).delete(), so the queryset enforces the caller’s authorization boundary. The assessed impact is integrity-only (I:L) with no confidentiality or availability effect; the related commit also contains other API permission corrections, but the alarm bulk-delete change is the CVE-specific fix.
Know when Modoboa gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
Network API reachable with low complexity but requires an authenticated account (PR:L); impact is unauthorized deletion of monitoring records, so I:L with no confidentiality or availability effect.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Modoboa before 2.8.0 contains an insecure direct object reference vulnerability that allows authenticated users to delete alarms of other domains via the POST /api/v2/alarms/bulk_delete/ action. Attackers can enumerate sequential alarm IDs to delete DNS, MX and blocklist monitoring alarms server-wide, hiding problems from responsible administrators.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Weak Password Requirements in GitHub repository modoboa/modoboa prior to 2.1.0. Rated critical severity (CVSS 9.8), this
Authentication Bypass by Primary Weakness in GitHub repository modoboa/modoboa prior to 2.0.4. Rated critical severity (
Improper Authorization in GitHub repository modoboa/modoboa prior to 2.1.0. Rated critical severity (CVSS 9.1), this vul
Cross-Site Request Forgery (CSRF) in GitHub repository modoboa/modoboa prior to 2.2.2. Rated high severity (CVSS 8.8), t
Improper Restriction of Excessive Authentication Attempts in GitHub repository modoboa/modoboa-installer prior to 2.0.4.
The modoboa-dmarc plugin 1.1.0 for Modoboa is vulnerable to an XML External Entity Injection (XXE) attack when processin
Cross-Site Request Forgery (CSRF) in GitHub repository modoboa/modoboa prior to 2.1.0. Rated medium severity (CVSS 6.8),
Cross-Site Request Forgery (CSRF) in GitHub repository modoboa/modoboa prior to 2.0.4. Rated medium severity (CVSS 6.5),
Cross-Site Request Forgery (CSRF) in GitHub repository modoboa/modoboa prior to 2.0.4. Rated medium severity (CVSS 6.5),
Cross-site Scripting (XSS) - DOM in GitHub repository modoboa/modoboa prior to 2.2.2. Rated medium severity (CVSS 5.4),
Cross-site Scripting (XSS) - DOM in GitHub repository modoboa/modoboa prior to 2.2.2. Rated medium severity (CVSS 5.4),
Cross-site Scripting (XSS) - Stored in GitHub repository modoboa/modoboa prior to 2.0.4. Rated medium severity (CVSS 5.4
EUVD-2026-105164
GHSA-cq85-78wv-p3mx
NVD
CVE.org
EPSS
Exploit-DB