CVE-2026-53982
Executive Summary
CVE-2026-53982 is a denial-of-service (DoS) vulnerability in Capgo Console prior to version 12.28.2. The flaw resides in the account deletion flow, where the platform incorrectly associates a deletion state with a device identifier (e.g., browser fingerprint or device token). An attacker can trigger account deletion while a victim’s device identifier is linked to the active session, causing that device to be redirected to an account-disabled page for approximately 30 days. This effectively blocks authentication and new user registration from the affected device, leading to a persistent denial of service for legitimate users.
The vulnerability has a CVSS score of 6.5 (Medium) and is classified under CWE-841 (Improper Enforcement of Behavioral Workflow). No public proof-of-concept (PoC) or exploit code is currently available, and the EPSS score is 0.0%, indicating low exploitation activity in the wild. However, the impact is significant for organizations relying on Capgo Console for user management, as it can disrupt onboarding and access control.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Supply Chain & Package Security
This vulnerability is not related to a package manager (NPM, PyPI, Go, Ruby). It affects the Capgo Console web application, which is typically deployed as a self-hosted or cloud-based service. Organizations should verify their deployment version and apply the patch immediately.
CVSS Breakdown & Threat Level
- CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- Base Score: 6.5 (Medium)
- Attack Vector: Network (AV:N) – exploitable remotely.
- Attack Complexity: Low (AC:L) – no special conditions required.
- Privileges Required: None (PR:N) – no authentication needed to trigger the attack.
- User Interaction: None (UI:N) – the victim does not need to perform any action beyond having an active session.
- Scope: Unchanged (S:U) – the vulnerable component and the impacted component are the same.
- Confidentiality Impact: None (C:N) – no data exposure.
- Integrity Impact: None (I:N) – no data modification.
- Availability Impact: High (A:H) – the affected device is blocked from authentication and registration for 30 days.
Threat Level: Medium. While the CVSS score is moderate, the persistence of the denial-of-service (30 days) and the low complexity of exploitation make this a serious concern for user-facing applications.
Deep Dive & Mechanics
The vulnerability exists in the account deletion workflow of Capgo Console. When a user initiates account deletion, the system marks the account as disabled and associates this state with the device identifier (e.g., a browser cookie, device fingerprint, or session token). The intended behavior is to prevent the deleted account from being used, but the implementation incorrectly applies this restriction to the device itself rather than just the account.
Attack Scenario:
- An attacker obtains or guesses a victim’s device identifier (e.g., via session hijacking, cross-site scripting, or by observing network traffic).
- The attacker triggers the account deletion flow while the victim’s device identifier is linked to the attacker’s session (or the victim’s own session if the attacker can force the victim to perform the action).
- The platform marks the device identifier as “disabled” and redirects any request from that device to an account-disabled page.
- For approximately 30 days, the victim cannot log in to any account or register a new account from that device.
Root Cause: The platform fails to differentiate between the account state and the device state. The deletion state is stored in a session or device-level cache (e.g., a cookie or server-side token) that is not cleared when the account is deleted, and it is not scoped to the specific user account.
Impact: This is a persistent denial-of-service that can be used to block legitimate users from accessing the platform. It can also be used to prevent new user registrations from a specific device, which could be leveraged for competitive sabotage or harassment.
Vulnerable vs. Patched Code
The following is a conceptual representation of the vulnerable and patched logic. Actual source code is not publicly available.
Vulnerable Code (Pseudocode):
def delete_account(request):
user = get_current_user(request)
device_id = request.session.get('device_id')
# Mark device as disabled
cache.set(f'device_disabled:{device_id}', True, timeout=2592000) # 30 days
# Delete user account
user.delete()
return redirect('/account-disabled')
Patched Code (Pseudocode):
def delete_account(request):
user = get_current_user(request)
# Only mark the specific user account as disabled
user.is_active = False
user.save()
# Clear any device-level state
request.session.pop('device_id', None)
# Do not set a global device-disabled flag
return redirect('/account-deleted')
Key Differences:
- The patched version does not store a device-level disabled flag.
- The deletion state is scoped to the user account, not the device.
- The session is cleared to prevent residual state.
Exploitation & Lab Setup
Red Team (Exploitation)
Prerequisites:
- Access to a Capgo Console instance (version < 12.28.2).
- Knowledge of a victim’s device identifier (e.g., via session token or device fingerprint).
Steps:
- Identify the victim’s device identifier. This could be obtained through:
- Session hijacking (e.g., XSS or stolen cookies).
- Observing network traffic (e.g., if the device ID is sent in cleartext).
- Social engineering to trick the victim into revealing their session token.
- Send a POST request to the account deletion endpoint with the victim’s device identifier in the session or request parameters.
POST /api/account/delete HTTP/1.1 Host: console.capgo.example.com Cookie: session=<attacker_session>; device_id=<victim_device_id> - The server marks the victim’s device as disabled.
- The victim is now unable to log in or register from that device for 30 days.
Note: No public exploit code is available. The above is a conceptual attack flow.
Blue Team (Defense & Detection)
Detection:
- Monitor for multiple account deletion requests from the same device identifier within a short time window.
- Alert on any account deletion that does not originate from a known user session (e.g., deletion requests without proper authentication).
- Log and review all redirects to the
/account-disabledpage.
Mitigation:
- Immediately upgrade to Capgo Console version 12.28.2 or later.
- If patching is not possible, implement a Web Application Firewall (WAF) rule to block account deletion requests that include a
device_idparameter not matching the authenticated user’s session. - Enforce multi-factor authentication (MFA) for account deletion actions.
- Implement rate limiting on the account deletion endpoint.
Indicators of Compromise (IOCs)
- Network Indicators:
- HTTP requests to
/api/account/deletewith adevice_idparameter or cookie. - Repeated redirects to
/account-disabledfrom the same IP or device fingerprint.
- HTTP requests to
- Log Indicators:
- Log entries showing account deletion followed by immediate redirect to
/account-disabled. - Multiple failed login attempts from the same device after an account deletion event.
- Log entries showing account deletion followed by immediate redirect to
- Device Indicators:
- Browser cookie or local storage containing a
device_disabledflag. - Persistent redirect to
/account-disabledfor any action on the Capgo Console.
- Browser cookie or local storage containing a
Detection Engineering
YARA Rule
rule CVE_2026_53982_Capgo_Console_DoS {
meta:
description = "Detects Capgo Console account deletion requests with device_id parameter"
author = "Valters IT"
date = "2026-01-01"
reference = "CVE-2026-53982"
strings:
$s1 = "/api/account/delete" ascii wide nocase
$s2 = "device_id=" ascii wide nocase
$s3 = "/account-disabled" ascii wide nocase
condition:
all of ($s1, $s2) or $s3
}
Sigma Rule
title: Capgo Console Account Deletion DoS Attempt
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects attempts to exploit CVE-2026-53982 by triggering account deletion with a device identifier
author: Valters IT
date: 2026-01-01
logsource:
category: webserver
product: apache
service: access_combined
detection:
selection:
cs-method: 'POST'
cs-uri-stem: '/api/account/delete'
cs-uri-query|contains: 'device_id='
condition: selection
falsepositives:
- Legitimate account deletions by authorized users
level: high
Suricata Rule
alert http $HOME_NET any -> $EXTERNAL_NET any (
msg:"CVE-2026-53982 Capgo Console Account Deletion DoS Attempt";
flow:to_server,established;
content:"POST"; http_method;
content:"/api/account/delete"; http_uri;
content:"device_id="; http_client_body;
classtype:attempted-dos;
sid:1000001;
rev:1;
)
Remediation & Mitigation
Immediate Actions:
- Upgrade: Update Capgo Console to version 12.28.2 or later. This is the only definitive fix.
- Workaround: If upgrading is not immediately possible, implement a WAF rule to block account deletion requests that include a
device_idparameter not matching the authenticated user’s session. - Session Hardening: Ensure that device identifiers are not stored in a way that can be manipulated by attackers (e.g., use server-side session storage with proper validation).
Long-Term Measures:
- Conduct a security review of all workflow-related endpoints to ensure proper state scoping.
- Implement rate limiting and anomaly detection on sensitive actions like account deletion.
- Educate users about the risks of sharing session tokens or device identifiers.
Patch Details: Upgrade to Capgo Console version 12.28.2 or later. No official patch notes are available, but the fix involves scoping the deletion state to the user account rather than the device.
Valters IT