Home

Description

LimeSurvey constructs account password-reset links from the client-supplied HTTP Host header without validating it. The optional allowedHosts allowlist that would constrain this is undefined in the default (and documented) configuration, so LSHttpRequest::checkIsAllowedHost() results in no operation. A remote, unauthenticated attacker who submits a forgotten-password request for a known account (requiring only the target's username and email) with a spoofed Host header causes LimeSurvey to email that account a reset link whose hostname is attacker-controlled while embedding the genuine validation_key. When the recipient or an automated inbound mail-security link scanner dereferences the link, the valid reset token is disclosed to the attacker, who replays it against the legitimate host's newPassword endpoint to set a new password and take over the account.

PUBLISHED Reserved 2026-06-05 | Published 2026-06-09 | Updated 2026-06-10 | Assigner VulnCheck




HIGH: 8.8CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

HIGH: 8.7CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Problem types

Weak Password Recovery Mechanism for Forgotten Password

Product status

Default status
unknown

Any version
affected

7.0.1 (custom)
unaffected

Credits

McCaulay Hudson (@_McCaulay) of watchTowr finder

References

github.com/LimeSurvey/LimeSurvey/pull/5032 (GitHub Pull Request 5032) patch

www.limesurvey.org/ (Official Product Homepage) product

www.vulncheck.com/...-header-injection-discloses-reset-token (VulnCheck Advisory: LimeSurvey Password Reset Host Header Injection Discloses Reset Token) third-party-advisory

cve.org (CVE-2026-50635)

nvd.nist.gov (CVE-2026-50635)

Download JSON