MISP Unauthenticated Mail Endpoints Allow Unbounded Storage Consumption and Request Flooding
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
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-86452
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 5 Nov 2026, 01:40 UTC · Revision 1
Source evidence
MISP Unauthenticated Mail Endpoints Allow Unbounded Storage Consumption and Request Flooding
core-osv · Original sourcePublished 7 Sept 2026, 13:03 UTC
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
osv:CVE-2026-86452
Complete source record
{
"id": "f0862d63680241933af11b2470a5c3c1fc4332822496c2aef3f921dcd5a146ec",
"url": "https://osv.dev/vulnerability/CVE-2026-86452",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "MISP Unauthenticated Mail Endpoints Allow Unbounded Storage Consumption and Request Flooding",
"summary": "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",
"evidence": "osv:CVE-2026-86452",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2026-86452",
"aliases": [
"CVE-2026-86452"
],
"metrics": [
{
"type": "CVSS_V4",
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/misp/misp",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "d75d899be"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:misp-project:misp:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"last_affected": "2.5.45"
}
],
"source": "CPE_RANGE"
},
{
"range": [
{
"fixed": "d75d899be"
}
],
"source": "REFERENCES_COMMIT"
}
]
}
}
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-86452.json"
}
}
],
"modified": "2026-10-28T02:30:41.321000084Z",
"provider": "osv",
"references": [
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/86xxx/CVE-2026-86452.json",
"https://nvd.nist.gov/vuln/detail/CVE-2026-86452",
"https://github.com/MISP/MISP/commit/d75d899be",
"https://github.com/MISP/MISP"
],
"provider_metadata": {
"cwe_ids": [
"CWE-400",
"CWE-770"
],
"cna_assigner": "CIRCL",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/86xxx/CVE-2026-86452.json"
}
},
"related_cves": [
{
"value": "CVE-2026-86452",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 508926,
"published_at": "2026-09-07T13:03:27.052+00:00"
}