CVE-2026-86452: MISP Unauthenticated Mail Endpoints Allow Unbounded Storage Consumption and Request Flooding

Published Sep 7, 2026
·
Updated

Affected versions of MISP permit unauthenticated or weakly constrained request paths to perform persistent work without adequate input bounds or rate limiting.

The users/forgot password-reset endpoint accepted an attacker-controlled email value without first imposing a reasonable length bound or validating its format. That value was then used to create an audit log entry and queue a password-reset job, causing the supplied value to be persisted more than once per request. The commit explicitly states that an unbounded unauthenticated request field was stored twice per call with no throttle.

The fix adds:

- a maximum email input length of 1024 bytes;  - email-format validation before persistent work;  - a per-source pre-authentication request budget;  - HTTP 429 responses when that budget is exceeded;  - a 15-minute cooldown for API-access request emails;  - POST-only handling and CSRF protection for the API-access request endpoint.

The new flood filter is specifically intended to limit persistent storage costs from anonymous requests such as password resets, registrations, and failed REST authentication attempts.

Version affected: ≤2.5.45

Affected Software

2 affected components
Misp Project Misp<=2.5.45
Misp-project Misp<=2.5.45

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade MISP to a version that resolves this vulnerability.

    Fixed in ≤2.5.45
  2. Configuration

    Add a per-source pre-authentication request budget to limit unauthenticated request flooding on persistent-work paths (e.g., password resets, registrations, failed REST auth attempts).

    MISP (Mail/Password-reset endpoint: /users/forgot) per-source pre-authentication request budget = enforce (flood filter)
  3. Configuration

    Validate the submitted email format before creating audit log entries or queueing persistent jobs (persistent work must only occur after format validation).

    MISP (Mail/Password-reset endpoint: /users/forgot) email-format validation before persistent work = enabled
  4. Configuration

    Ensure the API-access request endpoint accepts requests only via POST (reject other HTTP methods).

    MISP (API-access request endpoint) POST-only handling = required
  5. Configuration

    Enable CSRF protection for the API-access request endpoint.

    MISP (API-access request endpoint) CSRF protection = enabled
  6. Configuration

    Add a 15-minute cooldown on API-access request emails / password-reset emails to limit repeated requests from the same source.

    MISP (Mail/Password-reset endpoint: /users/forgot) 15-minute cooldown for request emails = 15 minutes
  7. Configuration

    Impose a maximum email input length of 1024 bytes on attacker-controlled email inputs to prevent unbounded storage consumption.

    MISP (Mail/Password-reset endpoint: /users/forgot) maximum email input length = 1024 bytes

Event History

Sep 7, 2026
CVE Published
via MITRE·01:03 PM
Data Sourced
via MITRE·01:03 PM
DescriptionWeakness
Data Sourced
via NVD·02:16 PM
RemedyDescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

Who can exploit this issue?

An unauthenticated attacker can target the password-reset flow, and the flood filter also covers anonymous registrations and failed REST authentication attempts. No existing account is required for the described password-reset abuse.

2

What impact can repeated requests have?

Each password-reset request can cause attacker-supplied email data to be persisted in an audit log and again through a queued password-reset job. Repeated requests can therefore consume persistent storage and flood application processing.

3

Which versions are affected?

MISP versions 2.5.45 and earlier are affected.

4

What protections does the fix add?

The fix limits email input to 1024 bytes, validates email format before persistent work, and applies a per-source pre-authentication request budget that returns HTTP 429 when exceeded. It also adds a 15-minute cooldown for API-access request emails and makes the API-access request endpoint POST-only with CSRF protection.

5

How can defenders identify attempted abuse?

Review password-reset, registration, and failed REST authentication activity for high request volumes from a single source, especially requests containing unusually long or malformed email values. On a fixed deployment, requests exceeding the pre-authentication budget should receive HTTP 429 responses.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203