PHP2Shell : See if you’re affected with a free external attack surface scan. Click Here > 

New CVE Detected

CVE-2026-91972 – Authentication Bypass via Missing Rate Limiting – Vikunja before 2.6.0

Be the first to know when new zero-days emerge:

Summary

CVE-2026-91972 is an improper restriction of excessive authentication attempts (CWE-307) affecting Vikunja, the open-source to-do/project management application, in all versions before 2.6.0. The public, pre-authentication API v2 endpoints (login, registration, password-reset token issuance, and OAuth token) are not subject to the application’s default anti-brute-force rate limit, unlike their functionally identical v1 counterparts. The issue is rated HIGH severity and allows unauthenticated attackers to conduct unbounded credential-guessing, account-enumeration, and password-reset-flooding attacks against a default (stock) installation.

Technical details

  • Root cause: Vikunja’s route registration for the v2 API (registerAPIRoutesV2) never applies the unconditional, always-on per-IP rate limiter (unauthRateLimit()) to its public routes — that limiter is wired only to the /api/v2/ws websocket route. The v2 public auth routes instead rely solely on setupRateLimit, a configurable limiter that registers no throttling when ratelimit.enabled is left at its default value of false.
  • Trigger conditions: A stock/default Vikunja install (rate limiting not explicitly enabled) exposing the v2 API. No authentication or special privileges are required to exploit the issue.
  • Attack vector: Network — an attacker sends repeated unauthenticated HTTP requests directly to /api/v2/login, /api/v2/register, /api/v2/user/password/token, and the OAuth token route. Requests reach the application handlers (returning 403/404 for invalid attempts) rather than being blocked, and no 429 (rate-limited) responses are ever issued, in contrast to the equivalent v1 routes.
  • Impact: Attackers can perform unthrottled password-guessing (brute force) against user accounts, enumerate valid usernames/accounts, and flood the password-reset flow — undermining the instance’s only default anti-abuse control. The vendor classifies this as an authentication-control bypass rather than a denial-of-service issue.

Affected software

  • Vikunja (code.vikunja.io/api, go-vikunja) — all versions prior to 2.6.0 (confirmed present through 2.5.0)
  • Fixed in version 2.6.0 and later

Severity

  • CVSS v3.1: 7.5 (HIGH) — CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
  • CVSS v4.0: 8.7 (HIGH) — CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Mitigation and recommended actions

  • Immediate: Upgrade Vikunja to version 2.6.0 or later, which applies the unconditional pre-auth rate limiter to the v2 public routes to match v1 behavior.
  • If patching is not immediately possible:
    • Explicitly enable and configure Vikunja’s rate-limiting feature (ratelimit.enabled) rather than relying on defaults, and verify it applies to v2 routes.
    • Place a reverse proxy or web application firewall in front of the instance to enforce IP-based rate limiting on /api/v2/login, /api/v2/register, /api/v2/user/password/token, and OAuth token endpoints.
    • Monitor authentication and password-reset endpoints for high-volume or repeated failed requests indicative of credential-guessing or enumeration activity.
    • Restrict direct internet exposure of the API where feasible until patched.

References

Are you exposed?

Get a free report of your organization’s exposure to this CVE and threat

How IONIX’s External Exposure Management Platform Detects and Validates
Zero-Days to Shrink MTTR

1

Map your entire attack surface (continously)

IONIX uses multi-factor discovery methods, including DNS analysis, certificate mapping, metadata inspection, and more, to automatically map every internet-facing asset across your environment. This includes cloud instances, third-party platforms, shadow IT, and even forgotten infrastructure that traditional tools miss.

2

Monitor for new CVEs

Dozens of threat intel feeds using agentic technology are continuously analyzed to detect the appearance of proof-of-concept code, exploit kits, and indicators of active targeting. IONIX goes further by applying AI to proactively evaluate whether emerging vulnerabilities are likely to be exploited, even before PoCs go public.

3

Identify Potential External Exposures

Not all CVEs matter. IONIX filters vulnerabilities by asking attacker-centric questions: Can it be reached from the internet? Does it require authentication? Is it being exploited in the wild? This dramatically reduces noise and focuses teams on threats that can actually be weaponized.

4

Create Safe, Scalable Exploit Validations

IONIX transforms real-world PoCs into safe, non-intrusive test payloads that can be run in production environments without disruption. These simulations are precisely targeted to the systems that are vulnerable, ensuring rapid validation without unnecessary load.

5

Execute Exploit Validations

By combining context about software stack, versioning, exposure status, and reachability, IONIX ensures that only the right payloads are executed against the right assets, maximizing efficiency and minimizing risk.

6

Drive Fast and Actionable Remediation

Results are routed through integrations with ticketing, SOAR, and SIEM tools. Issues are written in plain language, bundled into remediation clusters, and prioritized based on asset criticality, exploitability, and blast radius. This shortens mean time to remediation (MTTR) and empowers teams to act with confidence.

Are you exposed?

Get a free report of your organization’s exposure to this CVE and threat

Subscribe to Threat Center RSS

Copy/paste the link below into your preferred RSS reader or follow these instructions to subscribe to Slack alerts.

Get Real-Time CVE Alerts to Your Email

Be the first to know when new zero-days emerge