~ / search / GHSA-qmg5-v42x-qqhq

GHSA-qmg5-v42x-qqhq

1Panel – CAPTCHA Bypass via Client-Controlled Flag

Source: GitHub Advisory Database (reviewed) High CVE-2025-66507

Packages

EcosystemPackageAffectedFixed in
Go github.com/1Panel-dev/1Panel < 2.0.14 2.0.14
Go github.com/1Panel-dev/1Panel/core < 0.0.0-20251128030527-ac43f00273be 0.0.0-20251128030527-ac43f00273be

Details

As written in the advisory (Markdown source, shown as plain text).

### 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.

References

External links from the advisory. They lead to third-party sites.