GitHub Advisoryadvisory · Go

GHSA-qmg5-v42x-qqhq 1Panel – CAPTCHA Bypass via Client-Controlled Flag

HIGH Published 2025-12-08 Modified 2025-12-09 Official page ↗
Aliases
CVE-2025-66507
Ecosystem
Go
Packages
github.com/1Panel-dev/1Panel, github.com/1Panel-dev/1Panel/core
Severity
High
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Weaknesses
CWE-290, CWE-602, CWE-807
Reviewed
2025-12-08

Affected packages

• Go github.com/1Panel-dev/1Panel: < 2.0.14 → fixed in 2.0.14 • Go github.com/1Panel-dev/1Panel/core: < 0.0.0-20251128030527-ac43f00273be → fixed in 0.0.0-20251128030527-ac43f00273be

Description

Summary A CAPTCHA bypass vulnerability in the 1Panel authentication API allows an unauthenticated attacker to disable CAPTCHA verification by abusing a client-controlled parameter. Because the server previously trusted this value without proper validation, CAPTCHA protections could be bypassed, enabling automated login attempts and significantly increasing the risk of account takeover (ATO). Details The /api/login endpoint accepts a boolean field named ignoreCaptcha directly from the client request body: `"ignoreCaptcha": true` The backend implementation uses this value to determine whether CAPTCHA validation should be performed: ``` if !req.IgnoreCaptcha { if errMsg := captcha.VerifyCode(req.CaptchaID, req.Captcha); errMsg != "" { helper.BadAuth(c, errMsg, nil) return } } ``` Because req.IgnoreCaptcha is taken directly from user input—with no server-side validation, no session binding, and no privilege checks—any unauthenticated attacker can force CAPTCHA validation to be skipped. There are no additional conditions, such as: no requirement for MFA no trusted device no IP reputation checks no prior valid session no rate limiting This results in CAPTCHA being entirely client-controlled, which violates fundamental authentication and anti-automation security assumptions.

Related

Alias · CVE (1)

  • CVE-2025-66507 1Panel is an open-source, web-based control panel for Linux server management. vulnerability

Weakness · CWE (3)

  • CWE-290 Authentication Bypass by Spoofing weakness
  • CWE-602 Client-Side Enforcement of Server-Side Security weakness
  • CWE-807 Reliance on Untrusted Inputs in a Security Decision weakness

References