{"id":"CVE-2026-112002","kind":"vulnerability","aliases":["CVE-2026-112002"],"related":[],"title":"ProjectSend: stolen session sets local password without current password","description":"ProjectSend 2.5.0 before 2.7.0 contains an unverified password change vulnerability in PasswordController::update() that lets sessions of Social-provisioned accounts set local passwords without the current password. Attackers holding a stolen session cookie can send PUT /settings/password to create a durable local password, enroll their own second factor, and persistently take over the account.","summary":"ProjectSend 2.5.0 before 2.7.0 lets a session belonging to a Social-login account set a local password without supplying the current password. An attacker holding a stolen session cookie can set a durable password and enroll their own second factor to keep the account.","severity":"high","cvss":7.6,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["package","php","projectsend","self-hosted"],"not_affected_if":["already-upgraded","no-social-accounts"],"how_to_check":"- Check the installed ProjectSend version in its configuration or admin footer; affected if it is `2.5.0` up to but not including `2.7.0`.\n- Check whether accounts use Social login (unknown whether the sources list the exact provider settings).","fix":"- Upgrade ProjectSend to `2.7.0` or later.\n- Until upgraded, review accounts for unexpected local passwords or newly enrolled second factors and revoke active sessions.","status":"open","published_at":"2026-10-18T12:17:12+00:00","first_seen_at":"2026-10-23T21:57:15+00:00","triaged_at":"2026-10-25T03:14:36+00:00","updated_at":"2026-10-25T03:14:36+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-10-25T03:14:36Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade ProjectSend to `2.7.0` or later.\n- Until upgraded, review accounts for unexpected local passwords or newly enrolled second factors and revoke active sessions.","reach":"internet","title":"ProjectSend: stolen session sets local password without current password","impact":"high","summary":"ProjectSend 2.5.0 before 2.7.0 lets a session belonging to a Social-login account set a local password without supplying the current password. An attacker holding a stolen session cookie can set a durable password and enroll their own second factor to keep the account.","category":"package","nicknames":[],"who_cares":["projectsend","self-hosted","php"],"confidence":0.6,"needs_auth":"yes","worst_case":"Attacker keeps persistent account takeover via local password and second factor","analyst_note":"Confirm the exact affected version range and whether a patch commit or advisory from the ProjectSend project lists specific mitigations beyond the 2.7.0 upgrade.","how_to_check":"- Check the installed ProjectSend version in its configuration or admin footer; affected if it is `2.5.0` up to but not including `2.7.0`.\n- Check whether accounts use Social login (unknown whether the sources list the exact provider settings).","needs_analyst":true,"not_affected_if":["already-upgraded","no-social-accounts"],"who_is_affected":"Instances running ProjectSend 2.5.0 through 2.6.x that have accounts provisioned through Social login. The exposure requires a stolen session cookie, so instances without Social-provisioned accounts are less exposed. Teams that already run 2.7.0 or later can skip it.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"high"},"cost_usd":0.000634,"input_tokens":3343,"output_tokens":600,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-112002':12A,15A '-2026':11A,14A '/settings/password':104C '2.5.0':23B,68C '2.7.0':25B,70C 'account':35B,66B,87C,121C 'attack':46B,95C 'belong':29B 'chang':75C 'contain':71C 'cooki':51B,100C 'creat':106C 'current':8A,43B,93C 'cve':10A,13A 'durabl':55B,108C 'enrol':58B,111C 'factor':62B,115C 'hold':47B,96C 'host':21B 'keep':64B 'let':26B,81C 'local':5A,38B,89C,109C 'login':34B 'packag':16B 'password':6A,9A,39B,44B,56B,74C,90C,94C,110C 'passwordcontrol':78C 'persist':117C 'php':17B 'projectsend':1A,18B,22B,67C 'provis':86C 'put':103C 'second':61B,114C 'self':20B 'self-host':19B 'send':102C 'session':3A,28B,50B,82C,99C 'set':4A,36B,53B,88C 'social':33B,85C 'social-login':32B 'social-provis':84C 'stolen':2A,49B,98C 'suppli':41B 'take':118C 'unverifi':73C 'updat':79C 'vulner':76C 'without':7A,40B,91C","nicknames":[],"mitigations":[],"who_affected":"Instances running ProjectSend 2.5.0 through 2.6.x that have accounts provisioned through Social login. The exposure requires a stolen session cookie, so instances without Social-provisioned accounts are less exposed. Teams that already run 2.7.0 or later can skip it.","tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-18T12:17:12+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"disclosure@vulncheck.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-112002","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-112002","severity":null,"published_at":"2026-10-18T12:17:12+00:00","modified_at":"2026-10-19T17:17:07+00:00","first_seen_at":"2026-10-23T21:57:15+00:00","fetched_at":"2026-10-23T22:28:55+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}