Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify publicly accessible Checkmate registration endpoint
-
DeliverySend concurrent POST /api/v1/auth/register requests with oversized multipart profileImage payloads
-
ExploitMulter buffers all file data in Node.js heap memory
-
ExecutionDownstream validation rejects requests but allocated memory is not released
-
PersistHeap exhaustion crashes or destabilizes the backend process
-
ImpactMonitoring platform becomes unavailable
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource consumption limits
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | No authentication or prior account is required - POST /api/v1/auth/register is a fully public endpoint. The vulnerable code path is triggered by any multipart form submission that includes a profileImage field, regardless of whether the registration data is valid or an invite token is present; Multer parsing occurs before those checks. Exploitation requires only HTTP network connectivity to the Checkmate backend port. Limiting factors: deployments accessible only via private network, VPN, or restricted firewall rules have materially reduced exposure; upstream reverse proxies with body-size limits or aggressive rate limiting reduce but do not eliminate the risk against the unpatched application. There is no specific platform, OS, or non-default configuration prerequisite - any exposed Checkmate instance prior to v3.9.1 is vulnerable. |
| Impact | The CVSS 3.1 score of 7.5 High with vector AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H accurately reflects the risk profile. The attack is trivially executable over the network with no authentication, no user interaction, and no special configuration - an attacker needs only HTTP connectivity to the registration endpoint. The availability impact is rated High because memory exhaustion crashes or destabilizes the entire backend process, taking the monitoring platform offline. There is no confidentiality or integrity impact. EPSS data was not provided in the input, and the vulnerability is not listed in the CISA KEV catalog, indicating no confirmed widespread active exploitation at time of analysis. Despite the low operational sophistication required, real-world priority is modulated by deployment footprint: Checkmate is a niche self-hosted tool, and instances behind private networks or VPNs are significantly less exposed. Deployments with the registration endpoint publicly accessible and no upstream rate-limiting or body-size controls are the highest-priority remediation targets. The attack is automatable, consistent with the AC:L/PR:N vector, meaning a single attacker with modest bandwidth can trigger the condition. |
| Exploit ScenarioDerived | An unauthenticated attacker scripts a pool of concurrent HTTP POST requests to the Checkmate /api/v1/auth/register endpoint, each carrying a multipart body with a large profileImage payload (e.g., several hundred megabytes per request). Because Multer buffers the entire upload in heap memory before the registration handler validates credentials or invite tokens, all concurrent uploads are held in RAM simultaneously; once heap memory is exhausted, the Node.js process crashes or becomes unresponsive and the monitoring platform goes offline. No authentication, session token, or prior knowledge of the application is required. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 21, 2026
Remote memory exhaustion in Bluewave Labs Checkmate prior to version 3.9.1 allows unauthenticated network attackers to crash or destabilize the Node.js backend by submitting concurrent oversized multipart uploads to the public POST /api/v1/auth/register endpoint. The in-memory Multer parser buffers uploaded files before registration validation executes, meaning no file-size, file-count, or MIME-type boundary is enforced prior to business-logic rejection - allowing attacker-controlled allocations to exhaust server RAM. No public exploit has been identified at time of analysis, though the attack requires no credentials, no special tooling, and is easily automatable against any internet-exposed deployment.
RemediationAI
Upgrade to Checkmate v3.9.1, available at https://github.com/bluewave-labs/Checkmate/releases/tag/v3.9.1. The fix, landed in commit 091c36cbf338b673110b0806d76df26d52516468, rewrites server/src/api/middleware/upload.ts to enforce fileSize: MAX_IMAGE_SIZE_BYTES and files: 1 Multer limits, adds a MIME-type allowlist restricted to image/jpeg, image/jpg, and image/png, and updates the error handler to return HTTP 413 for oversized payloads. As a compensating control prior to patching, place a reverse proxy such as nginx or Caddy in front of Checkmate and configure client_max_body_size (nginx) or request_body_size (Caddy) to a small value such as 2MB on the /api/v1/auth/register route - note this restricts individual request size but does not bound concurrency, so complement it with rate limiting (e.g., nginx limit_req set to 5 requests per minute per IP). Restricting registration endpoint network accessibility to trusted IP ranges via firewall or network policy eliminates the attack surface entirely with no application-level side effects, and is recommended for deployments using invite-only registration workflows.
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
Checkmate is a self-hosted Node.js/TypeScript monitoring platform maintained by Bluewave Labs, identified by CPE cpe:2.3:a:bluewave-labs:checkmate:*:*:*:*:*:*:*:*. The vulnerable code path resides in server/src/api/routes/authRoutes.ts, which routes the public registration endpoint through the Multer multipart-parsing middleware in server/src/api/middleware/upload.ts before any registration or invite-token validation occurs. The original upload.ts applied no fileSize limit, no files count limit, and no MIME-type filter, causing Multer to buffer the entire incoming file payload in heap memory. CWE-400 (Uncontrolled Resource Consumption) is the precise root cause class: resources are neither bounded at ingestion nor promptly released when downstream validation rejects the request, making concurrent requests from a single attacker sufficient to exhaust available memory. The fix in commit 091c36cbf introduces MAX_IMAGE_SIZE_BYTES and files:1 Multer limits along with a MIME-type allowlist (JPEG, JPG, PNG), and updates the error handler to return HTTP 413 for LIMIT_FILE_SIZE violations.
Know when Checkmate 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
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Public network endpoint, no credentials or interaction needed, impact is memory exhaustion affecting only availability with no scope change.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Checkmate is an open-source, self-hosted tool designed to track and monitor server hardware, uptime, response times, and incidents in real-time with beautiful visualizations. Prior to 3.9.1, the public POST /api/v1/auth/register route in server/src/api/routes/authRoutes.ts passes multipart profileImage uploads through in-memory Multer parsing before registration validation, without file-size, file-count, or MIME-type limits in server/src/api/middleware/upload.ts. An unauthenticated attacker can submit concurrent oversized files that are buffered before invalid registration or invite-token checks reject the request, exhausting memory and crashing or destabilizing the backend. This issue is fixed in version 3.9.1.
Executive ViewAI
Bluewave Labs Checkmate versions before 3.9.1 can be remotely crashed through unauthenticated memory exhaustion attacks submitted to the public registration endpoint, rendering service unavailable for all internet-exposed deployments. The attack requires no authentication, no special credentials or tooling, and is readily automatable using basic network utilities. With no vendor patch currently available, organizations must immediately implement protective controls to prevent service disruption.
Enforce request size validation and rate limiting on unauthenticated endpoints; deploy WAF rules blocking oversized multipart uploads; enable continuous memory monitoring with automated alerts; consider geo-restriction or IP allowlisting on registration endpoint; implement horizontal scaling and circuit breaker patterns on backend Node.js processes to improve denial-of-service resilience.
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
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Checkmate versions prior to 3.4.0 allow unauthenticated attackers to retrieve unpublished status pages and internal moni
A mass assignment vulnerability in Checkmate's user profile update endpoint allows any authenticated user to escalate th
Credential leakage in Bluewave Labs Checkmate versions 3.3.0 through 3.9.1 exposes HTTP Authorization secrets to unauthe
Missing role-guard middleware on three API route groups in Checkmate through v3.11.0 allows any authenticated low-privil
User enumeration via observable response discrepancy in Checkmate through version 2.1.0 exposes whether any given email
ReDoS (catastrophic regex backtracking) in Checkmate monitoring platform versions 3.5.1 through 3.9.1 allows an authenti
EUVD-2026-64037
NVD
CVE.org
EPSS
GitHub
Exploit-DB