CVE-2026-105785: Joplin Server: reset-token reuse enables account takeover
MEDIUMPoC AVAILABLECISA: TRACK*Joplin Server before 3.7.2 stores CSRF, account-confirmation, email-change, and password-reset tokens without a purpose, so any of them is accepted by the public password-reset endpoint. An attacker who obtains a victim's CSRF or confirmation token through a separate disclosure channel can reset the victim's password, and doing so also deletes the victim's existing sessions and API applications. This is a medium-severity issue (CVSS 4.8) because it requires a prior token leak (high attack complexity); EPSS is low at 0.00188 (the top-92% percentile label is inconsistent with that raw value). There is no KEV listing, no public exploit, and no Nuclei template. Joplin is a note-taking app, not an AI/ML framework, so the AI-specific exposure is limited to self-hosted instances that hold notes used as AI knowledge sources or that integrate with AI tooling via API applications. Upgrade Joplin Server to 3.7.2 or later and rotate credentials on any instance where tokens may have leaked.
What is the risk?
Medium-to-low risk. Exploitation requires network access plus a separately obtained CSRF or confirmation token, which is why attack complexity is high. Confidentiality and integrity impact are low (C:L/I:L) and availability is unaffected. No public exploit, no KEV listing, and a very low EPSS (0.00188) indicate low near-term likelihood. Risk rises for internet-exposed Joplin Server instances that have token-leaking components such as logs, referrers, or proxies. The AI/ML relevance is tangential: Joplin is classified here as an AI-adjacent tool and is not an ML component.
How does the attack unfold?
What systems are affected?
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| joplin | — | — | No patch |
Do you use joplin? You're affected.
How severe is it?
What is the attack surface?
What should I do?
1 step1) Upgrade Joplin Server to 3.7.2 or later (fix in commit 7766eef, PR 16274). 2) Until patched, restrict access to the server's password-reset and confirmation endpoints, and put the instance behind a VPN or an authenticating reverse proxy. 3) Review logs, referrer headers, and proxy captures for leakage of CSRF or confirmation tokens, and purge them. 4) Audit for unexpected password resets or sudden session and API-application deletions, and force a credential rotation and re-authorization of integrations for affected users. 5) Enable MFA at the proxy or SSO layer if available. 6) Re-validate any AI or RAG pipelines that ingest Joplin notes if an account compromise is suspected.
What does CISA's SSVC say?
Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.
How is it classified?
Which compliance frameworks are affected?
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2026-105785?
Joplin Server before 3.7.2 stores CSRF, account-confirmation, email-change, and password-reset tokens without a purpose, so any of them is accepted by the public password-reset endpoint. An attacker who obtains a victim's CSRF or confirmation token through a separate disclosure channel can reset the victim's password, and doing so also deletes the victim's existing sessions and API applications. This is a medium-severity issue (CVSS 4.8) because it requires a prior token leak (high attack complexity); EPSS is low at 0.00188 (the top-92% percentile label is inconsistent with that raw value). There is no KEV listing, no public exploit, and no Nuclei template. Joplin is a note-taking app, not an AI/ML framework, so the AI-specific exposure is limited to self-hosted instances that hold notes used as AI knowledge sources or that integrate with AI tooling via API applications. Upgrade Joplin Server to 3.7.2 or later and rotate credentials on any instance where tokens may have leaked.
Is CVE-2026-105785 actively exploited?
Proof-of-concept exploit code is publicly available for CVE-2026-105785, increasing the risk of exploitation.
How to fix CVE-2026-105785?
1) Upgrade Joplin Server to 3.7.2 or later (fix in commit 7766eef, PR 16274). 2) Until patched, restrict access to the server's password-reset and confirmation endpoints, and put the instance behind a VPN or an authenticating reverse proxy. 3) Review logs, referrer headers, and proxy captures for leakage of CSRF or confirmation tokens, and purge them. 4) Audit for unexpected password resets or sudden session and API-application deletions, and force a credential rotation and re-authorization of integrations for affected users. 5) Enable MFA at the proxy or SSO layer if available. 6) Re-validate any AI or RAG pipelines that ingest Joplin notes if an account compromise is suspected.
What systems are affected by CVE-2026-105785?
This vulnerability affects the following AI/ML architecture patterns: Self-hosted note-taking servers, Personal knowledge bases feeding RAG pipelines, API-integrated AI assistants.
What is the CVSS score for CVE-2026-105785?
CVE-2026-105785 has a CVSS v3.1 base score of 4.8 (MEDIUM). The EPSS exploitation probability is 0.23%.
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0012Valid AccountsAML.T0049Exploit Public-Facing ApplicationCompliance Controls Affected
What are the technical details?
Original Advisory
Joplin is an open source note-taking and to-do application that organises notes and lists into notebooks. Prior to Joplin Server 3.7.2, packages/server/src/models/TokenModel.ts stores CSRF, account-confirmation, email-change, and password-reset tokens without a purpose, and packages/server/src/models/UserModel.ts allows UserModel.resetPassword to accept any token returned by TokenModel.userFromToken. An attacker who obtains a victim's CSRF or confirmation token through a separate disclosure channel can submit it to the public password-reset endpoint, replace the victim's password, and cause the existing sessions and API applications to be deleted. This issue is fixed in Joplin Server 3.7.2.
Exploitation Scenario
An attacker obtains a victim's CSRF or account-confirmation token through a separate leak, for example a misconfigured proxy log or an exposed referrer. They submit that token to the public password-reset endpoint of a self-hosted Joplin Server, set a new password, and log in as the victim. The victim's sessions and API applications are wiped, locking them out. The attacker reads the notes and can edit them. If those notes serve as a knowledge base for an internal RAG assistant or agent, the attacker could plant misleading content there.
Weaknesses (CWE)
CWE-620Unverified Password ChangePrimaryCWE-640Weak Password Recovery Mechanism for Forgotten PasswordPrimaryCWE-620Unverified Password ChangeCWE-640Weak Password Recovery Mechanism for Forgotten PasswordCWE-620 — Unverified Password Change: When setting a new password for a user, the product does not require knowledge of the original password, or using another form of authentication.
- [Architecture and Design] When prompting for a password change, force the user to provide the original password in addition to the new password.
- [Architecture and Design] Do not use "forgotten password" functionality. But if you must, ensure that you are only providing information to the actual user, e.g. by using an email address or challenge question that the legitimate user already provided in the past; do not allow the current user to change this identity information until the correct password has been provided.
Source: MITRE CWE corpus.
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:NReferences
- github.com/laurent22/joplin/commit/7766eefa11fa006b6a1971da24e0c820cf1d2118x_refsource_MISC
- github.com/laurent22/joplin/pull/16274x_refsource_MISC
- github.com/laurent22/joplin/security/advisories/GHSA-8qm8-mp6h-qf35x_refsource_CONFIRM
Timeline
Related Vulnerabilities
CVE-2025-512010.0smolagents: sandbox escape enables unauthenticated RCE
Same attack type: Data LeakageCVE-2023-376510.0MLflow: path traversal allows arbitrary file read
Same attack type: Data LeakageCVE-2025-282810.0LangChain RequestsToolkit: SSRF exposes cloud metadata
Same attack type: Auth BypassCVE-2025-5376710.0Azure OpenAI: SSRF EoP, no auth required (CVSS 10)
Same attack type: Auth BypassCVE-2026-2185810.0n8n: Input Validation flaw enables exploitation
Same attack type: Auth Bypass