Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSteal victim's persistent qa_session cookie
-
DeliveryVictim triggers forgot-password reset
-
ExploitReset omits sessioncode clearing
-
ExecutionReplay old cookie
-
ImpactRetain authenticated account access
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V7 - Session Management Session expiration enforcement
|
| Exploitation Conditions | Exploitation requires the attacker to already hold a valid persistent 'Remember me' (qa_session) cookie issued BEFORE the password reset occurs - this cookie must have been obtained through a separate means (theft, XSS, device access). The specific trigger is the victim completing the forgot-password reset flow (qa_finish_reset_user), which fails to clear the sessioncode field. Limiting factors: the attack only works on accounts where persistent login was enabled and a cookie was captured pre-reset; it does not grant fresh initial access and cannot be launched with no prior foothold. It is effective specifically against Question2Answer <= 1.8.8 where the forgot-password path omits sessioncode invalidation. |
| Impact | The vendor CVSS 4.0 score is 9.1 (AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N), but that headline number overstates real-world priority for most defenders. The high score comes from network vector and high confidentiality/integrity impact, yet AC:H correctly reflects a hard prerequisite: the attacker must ALREADY possess a valid persistent cookie stolen before the reset. This is a post-compromise persistence/lockout-evasion weakness, not an initial-access flaw - a victim resetting a password specifically to evict an attacker will fail to do so. No EPSS score, KEV listing, or SSVC decision data was provided, and no public POC is indicated, so widespread opportunistic exploitation is unlikely. Note a taxonomy discrepancy: the VulnCheck advisory title calls this 'session fixation,' while the description and CWE-613 describe insufficient session expiration/invalidation - the latter is the accurate characterization and should guide remediation reasoning. |
| Exploit ScenarioDerived | An attacker who earlier obtained a victim's persistent qa_session cookie (e.g., via XSS, cookie theft, or a shared/compromised device) retains a copy. The victim, suspecting compromise, uses the forgot-password flow to reset their password - but because sessioncode is never cleared, the attacker's old cookie still authenticates them to the account. No public POC is identified, but the exploitation logic is trivial once a valid pre-reset cookie is held. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 22, 2026
Persistent authentication bypass in Question2Answer through 1.8.8 lets an attacker holding a stolen 'Remember me' (qa_session) cookie keep authenticated access to an account even after its password is reset via the forgot-password flow. The reset handler qa_finish_reset_user() fails to clear the user's sessioncode field, so previously issued persistent cookies remain valid - defeating the primary account-recovery defense used after a compromise. No public exploit identified at time of analysis, and it is not listed in CISA KEV; the fix is an upstream GitHub pull request rather than a tagged release.
RemediationAI
Upstream fix available (PR/commit); a released patched version was not independently confirmed from the provided data. Apply the change from https://github.com/q2a/question2answer/pull/1017, which adds qa_db_user_set($userId, 'sessioncode', '') inside qa_finish_reset_user() so that a password reset clears the sessioncode and invalidates all outstanding persistent 'Remember me' cookies. Until a tagged release is available, operators can cherry-pick that one-line patch, or as an interim compensating control disable the persistent-login/'Remember me' feature so no long-lived qa_session cookies are issued (trade-off: users must log in each session). For accounts suspected of prior compromise, administratively rotate the affected users' sessioncode values in the database to force-expire existing cookies immediately. Consult the vendor advisory at https://www.vulncheck.com/advisories/question2answer-session-fixation-via-forgot-password-flow for details.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Question2Answer is an open-source PHP Q&A platform. Its persistent-login ('Remember me') feature issues a qa_session cookie whose validity is anchored to a per-user sessioncode value stored in the database. When that sessioncode is cleared or rotated, all outstanding persistent cookies are invalidated. The normal in-app password change (qa-include/pages/account.php) explicitly resets sessioncode, but the forgot-password reset path (qa_finish_reset_user() in qa-include/app/users-edit.php) omits this step. This maps to CWE-613 (Insufficient Session Expiration): a security-sensitive event (password reset) that should terminate all sessions fails to do so, leaving pre-existing session tokens valid. The upstream fix (PR #1017) simply adds qa_db_user_set($userId, 'sessioncode', '') to the reset function so old persistent logins stop working.
Know when PHP gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
AC:H and UI:R because the attacker needs a pre-stolen persistent cookie and the victim must perform the password reset; PR:N since no normal credentials are used; C:H/I:H for full account access, A:N.
Primary rating from Vendor (vulncheck).
CVSS VectorVendor: vulncheck
DescriptionCVE.org
Question2Answer through 1.8.8 contains a session invalidation vulnerability that allows attackers with a previously obtained remember-me cookie to retain authenticated access by exploiting the forgot-password reset flow's failure to clear the sessioncode field in qa-include/app/users-edit.php. While the normal password-change flow in qa-include/pages/account.php explicitly clears the sessioncode to invalidate persistent qa_session cookies, the forgot-password handler qa_finish_reset_user() omits this step, allowing any valid persistent cookie issued before the reset to continue authenticating the account after the password reset completes.
Articles & Coverage 2
Executive ViewAI
Question2Answer versions through 1.8.8 contain a critical authentication bypass where attackers holding stolen persistent 'Remember me' cookies retain account access even after the legitimate owner resets their password, eliminating the primary defense during account compromise recovery. This vulnerability affects any organization deploying vulnerable versions in production Q&A platforms or community forums. Leadership should prioritize remediation as account compromise recovery mechanisms are essential safeguards against persistent attacker access.
No vendor-released patch identified at time of analysis. Interim mitigations: implement application-level session invalidation triggered by password reset if the sessioncode field is not automatically cleared; monitor authentication logs for impossible-travel patterns indicating stolen cookie exploitation; enforce periodic re-authentication for sensitive operations; increase logging verbosity on persistent cookie validation; consider forcing logout of all active sessions when password reset is initiated.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear
The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c
Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
EUVD-2026-47782
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB