VYPR
Unrated severityNVD Advisory· Published Jun 22, 2026

Capgo - Rate Limit Bypass via User-Controlled device_id Parameter

CVE-2026-56324

Description

Capgo before 12.128.2 contains a rate limit bypass vulnerability in the channel_self endpoint that allows attackers to circumvent rate limiting by rotating the user-controlled device_id parameter. Attackers can send multiple requests per second by changing device_id values to flood the channel_devices table and cause database exhaustion.

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

Affected products

1

Patches

Vulnerability mechanics

Root cause

"Rate limiting relied on the user-controlled device_id field as the rate-limit key, allowing attackers to bypass the limit by rotating device_id values."

Attack vector

An attacker sends multiple POST requests to the `channel_self` endpoint while rotating the `device_id` parameter in each request [ref_id=1]. Since the rate limit key is the attacker-controlled `device_id`, each new value resets the rate-limit counter, allowing many requests per second. Each successful request triggers a database write via `upsertChannelDevicePg`, flooding the `channel_devices` table with junk records and potentially causing database exhaustion [ref_id=1].

Affected code

The vulnerability resides in `supabase/functions/_backend/plugins/channel_self.ts`, where rate limiting logic used the user-controlled `device_id` as the rate-limit key. Because `device_id` is supplied directly by the client and not authenticated, an attacker can rotate this value to bypass the intended rate limit.

What the fix does

The advisory states that the Capgo team patched the issue to prevent bypass of the rate limit [ref_id=1]. The patch does not show the exact code change, but the fix presumably binds the rate-limit key to a server-authenticated identifier (such as a session token or API key) instead of the client-supplied `device_id`, ensuring that rotating the parameter does not reset the rate-limit counter.

Preconditions

  • networkAttacker must be able to send HTTP POST requests to the channel_self endpoint
  • inputAttacker must be able to supply arbitrary values for the device_id parameter

Generated on Jun 23, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

2

News mentions

0

No linked articles in our index yet.