Skip to main content

Joplin Server CVE-2026-105786

HIGH
Missing Authentication for Critical Function (CWE-306)
2026-10-05 GitHub_M
8.5
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Craft attacker-chosen application auth identifier
  2. Delivery
    Lure logged-in victim to consent page
  3. Exploit
    Victim approves attacker's identifier
  4. Execution
    Redeem durable application ID and password
  5. Impact
    Exchange credential for victim session with full data access

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication required for critical functions
MITRE ATT&CK

1 technique across 1 tactic: Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires a Joplin Server (self-hosted sync server) deployment running a version prior to 3.7.13. The attacker does not need credentials, but exploitation depends on an already-authenticated victim being lured into approving the attacker's chosen application authorization identifier on the generic consent page (the vulnerable POST to applications/:id/confirm was public and lacked CSRF/session binding). Limiting factors: the victim must be logged in and must actively approve the consent (UI:A/UI:R), so success depends on social engineering or a cross-site request against an authenticated session rather than fully silent unauthenticated exploitation; no non-default configuration is otherwise required.

Impact

This is a genuine high-priority issue rather than a CVSS-inflated paper risk, but its exploitation is conditional. The vendor-supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:A) describes a network-reachable, low-complexity, unauthenticated attacker who nevertheless requires active victim interaction - the logged-in victim must approve the attacker's chosen application authorization identifier on the consent page. CWE-306 (missing authentication for a critical function) is consistent with the source diff, which shows the authorizing POST to applications/:id/confirm was publicly reachable and lacked a CSRF/session binding, so a cross-site request could authorize an application for a logged-in user. Technical impact is high (VC:H/VI:H): successful exploitation yields a victim session with full read and write access to synchronized notes, effectively account takeover of sync data, with no availability impact (VA:N). No EPSS score, CISA KEV listing, or public POC was provided in the input, so the automated-exploitation and widespread-exploitation signals are absent; the realistic risk therefore hinges on social-engineering the victim into approving the consent page rather than on mass unauthenticated exploitation. No SSVC decision data was supplied. The reliance on UI:A (user interaction) is the single largest mitigating factor against the otherwise network-unauthenticated profile.

Exploit ScenarioDerived

An attacker targeting a Joplin Server instance generates an application authorization identifier under their control and sends a logged-in victim a crafted link (or cross-site request) to the generic consent page. The victim approves the attacker's identifier, after which the attacker redeems a durable application ID and password and exchanges it for a victim session, gaining full read/write access to the victim's synchronized notes. No public exploit identified at time of analysis, though the fix PR and commit disclose the exact mechanism.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 05, 2026

Improperly protected application-authorization flow in Joplin Server (the self-hosted sync backend for the Joplin note-taking client) before 3.7.13 lets an attacker supply their own placeholder application identifier, have a logged-in victim approve it on the consent page, and then redeem that identifier for a durable application ID and password that yields a victim session with full read and write access to synchronized notebooks and notes. The CVSS vector (CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A) rates it 8.5 because no attacker credentials are required, though success still depends on a victim who is already authenticated actively approving the consent step, making social engineering or a cross-site request against an authenticated session the practical path rather than silent compromise. No public exploit code and no confirmed active exploitation (CISA KEV) were identified at time of analysis, and the issue is addressed by upgrading to 3.7.13.

RemediationAI

Vendor-released patch: upgrade Joplin Server to 3.7.13 or later, available from the project's release page (https://github.com/laurent22/joplin/releases/tag/v3.7.13) and described in GHSA-435m-gr6q-2fg6 (https://github.com/laurent22/joplin/security/advisories/GHSA-435m-gr6q-2fg6); the fix is contained in commit 1a0a50afc96d4c228c736293d53de96aa23f4d00 and PR 16270. After upgrading, review and revoke any application passwords you do not recognize in the Joplin Server admin or user settings, since a credential issued before patching remains durable and valid until revoked. If immediate upgrade is not possible, a compensating control is to block unauthenticated POST requests to the path pattern /applications/*/confirm at a reverse proxy while still allowing the GET consent page, which preserves legitimate app authorizations performed from inside an authenticated session but will break any client that initiates authorization by a direct cross-site POST; note this is a partial mitigation because the vulnerable handler still exists in the application. Restricting network access to the Joplin Server sync API so it is reachable only from trusted networks or behind a VPN reduces exposure but degrades mobile and remote-client syncing, and disabling the application-password feature entirely (if your deployment does not use API tokens or external clients) removes the attack surface at the cost of breaking integrations that rely on it.

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The root cause is CWE-306, Missing Authentication for Critical Function, located in the server-side application password issuance path. In packages/server/src/models/ApplicationModel.ts the server accepts a caller-chosen application authorization identifier, and the route applications/:id/confirm then binds that identifier to whatever user is logged in through a generic consent page. Because the problematic POST to applications/:id/confirm was registered in the router's flat publicSchemas list, it was treated as a public route and skipped the session and CSRF enforcement that Joplin Server normally applies to state-changing endpoints. The public endpoint packages/server/src/routes/api/application_auth.ts subsequently takes the approved identifier and calls ApplicationModel.createAppPassword without authenticating or cryptographically binding the party redeeming the authorization, so the attacker who originally chose the identifier can collect the resulting durable application ID and password. The upstream fix in PR 16270 reworks packages/server/src/utils/Router.ts to add a publicSchemasByMethod map and moves 'applications/:id/confirm' into an HTTP-GET-only public list, with the corresponding change in packages/server/src/utils/routeUtils.ts so isPublic() is evaluated with the request method; the authorizing POST therefore retains the normal session and CSRF checks, and new tests in packages/server/src/routes/index/applications.test.ts assert that a forged _csrf token yields ErrorForbidden and creates no application record. The CPE cpe:2.3:a:laurent22:joplin:*:*:*:*:*:*:*:* is an unbounded wildcard, so all builds below the fixed release are treated as affected and version confirmation should be done against the v3.7.13 release tag.

Know when Joplin 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

Vendor (GitHub_M) PRIMARY 8.5 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
vuln.today AI 8.1 HIGH

Unauthenticated network attacker (PR:N, AV:N, AC:L) but a logged-in victim must approve the consent page (UI:R); full read/write to notes gives C:H/I:H, no availability impact.

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Active
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Joplin is an open source note-taking and to-do application that organises notes and lists into notebooks. Prior to 3.7.13, packages/server/src/models/ApplicationModel.ts accepts a caller-chosen application authorization identifier, applications/:id/confirm binds that identifier to a logged-in user through a generic consent page, and the public packages/server/src/routes/api/application_auth.ts endpoint passes it to ApplicationModel.createAppPassword without authenticating or binding the redeemer. An attacker can cause a victim to approve the attacker's identifier, redeem a durable application ID and password, and exchange the credential for a victim session with full read and write access to synchronized data. This vulnerability is fixed in 3.7.13.

Technical POC Analysis

CWE-306 (Missing Authentication for Critical Function); the advisory also tags CWE-330 and CWE-863.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Joplin Server, the self-hosted sync backend for Joplin notes, contains a high-severity authorization flaw (CVE-2026-105786) that could let an unauthenticated attacker gain full read and write access to a victim's synchronized notebooks and notes after the victim approves a malicious application consent request. This affects organizations using Joplin Server versions before 3.7.13, potentially exposing or altering sensitive business notes. No public exploit identified at time of analysis, but leadership should prioritize remediation because the attack requires only user interaction, not attacker credentials, making social engineering a practical risk.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 81% exploitable
Prevalence
Medium
self-hosted sync server of a popular open-source note app
Data Quality
4 sources
Confidence: Medium
NVD CVE.org EPSS Vulnrichment GitHub

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

42
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +42
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

Affected Products (CPE)CVE.org

cpe:2.3:a:laurent22:joplin:*:*:*:*:*:*:*:*

More in Joplin

View all
CVE-2025-27134 HIGH POC
8.8 Apr 30

Joplin is a free, open source note taking and to-do application, which can handle a large number of notes organised into

CVE-2024-49362 CRITICAL POC
9.6 Nov 14

Joplin is a free, open source note taking and to-do application. Rated critical severity (CVSS 9.6), this vulnerability

CVE-2024-40643 CRITICAL POC
9.6 Sep 09

Joplin is a free, open source note taking and to-do application. Rated critical severity (CVSS 9.6), this vulnerability

CVE-2022-35131 CRITICAL POC
9.0 Jul 25

Joplin v2.8.8 allows attackers to execute arbitrary commands via a crafted payload injected into the Node titles. Rated

CVE-2026-46649 CRITICAL POC
9.1 Sep 21

Joplin Server instances prior to 3.7.2 expose an SSO login-code redemption endpoint (GET /api/login_with_code/:id) that

CVE-2024-53268 HIGH POC
8.8 Nov 25

Joplin is an open source, privacy-focused note taking app with sync capabilities for Windows, macOS, Linux, Android and

CVE-2022-40277 HIGH POC
7.8 Sep 30

Joplin version 2.8.8 allows an external attacker to execute arbitrary commands remotely on any client that opens a link

CVE-2025-27409 HIGH POC
7.5 Apr 30

Joplin is a free, open source note taking and to-do application, which can handle a large number of notes organised into

CVE-2020-28249 MEDIUM POC
6.1 Nov 06

Joplin 1.2.6 for Desktop allows XSS via a LINK element in a note. Rated medium severity (CVSS 6.1), this vulnerability i

CVE-2020-15930 MEDIUM POC
6.1 Sep 24

An XSS issue in Joplin desktop 1.0.190 to 1.0.245 allows arbitrary code execution via a malicious HTML embed tag. Rated

CVE-2018-1000534 MEDIUM POC
6.1 Jun 26

Joplin version prior to 1.0.90 contains a XSS evolving into code execution due to enabled nodeIntegration for that parti

CVE-2020-9038 MEDIUM POC
5.4 Feb 17

Joplin through 1.0.184 allows Arbitrary File Read via XSS. Rated medium severity (CVSS 5.4), this vulnerability is remot

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy