Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain adjacent position on update delivery path
-
DeliveryReplace app-update.yml and installer with malicious build
-
ExploitClient skips Authenticode signer check
-
ExecutionUser approves installation prompt
-
PersistAttacker code executes at user privilege
-
ImpactCompromise notes, credentials, and local data
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V15 - Secure Coding and Architecture Data authenticity verification
|
| Exploitation Conditions | Requires the Windows build of Joplin Desktop prior to 3.7.2 (the missing publisherName only affects the Windows NSIS Authenticode verification path). The attacker must control or intercept the update delivery path - a MITM position on the network between client and update host, or a compromised update server/mirror - in order to substitute the app-update.yml metadata and the installer. Exploitation further requires the victim to approve the installation prompt (UI:R): the malicious installer is only accepted after the user clicks through Joplin's normal update-approval flow. Limiting factors: Windows-only, needs active adjacent/on-path control (not a passive remote request), high complexity, and mandatory user interaction; macOS/Linux and default in-transit HTTPS integrity may further raise the bar. |
| Impact | This is a legitimately meaningful supply-chain / update-integrity flaw, but the CVSS 7.1 (AV:A/AC:H/PR:N/UI:R) accurately signals it is NOT a mass-exploitation priority. The vendor vector requires an adjacent position on the update delivery path (AV:A), high attack complexity (AC:H - the attacker must actively intercept/replace update metadata and the installer), and user interaction (UI:R - the victim must approve the malicious installer). No EPSS score, no CISA KEV listing, and no public exploit code were provided, consistent with 'no public exploit identified.' The root cause is real and confirmed by the patch diff (missing publisherName causes electron-updater's NsisUpdater.verifySignature() to skip Authenticode signer comparison), so exploitation is technically sound once an attacker controls the channel - but that channel control (MITM of the HTTPS update fetch, DNS/network compromise, or a compromised update host) is itself a significant prerequisite that gates real-world risk. Net: a genuine defense-in-depth failure worth patching, not an internet-wide remote-code-execution emergency. |
| Exploit ScenarioDerived | An attacker who can intercept or control Joplin's update delivery path (e.g., a MITM position on a shared/hostile network or a compromised update mirror) serves modified app-update.yml metadata pointing to a malicious NSIS installer signed by a different publisher or left unsigned. Because publisherName is absent, the client skips the Authenticode signer comparison, and once the user clicks through the normal update-approval prompt, attacker code runs with the user's privileges. No public exploit code was identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 21, 2026
Missing update-signature verification in Joplin Desktop for Windows (versions prior to 3.7.2) lets an attacker who controls the update delivery path substitute both the app-update.yml metadata and the installer, because the absent publisherName field causes electron-updater's NsisUpdater.verifySignature() to skip comparing the downloaded installer's Authenticode signer against Joplin's own. The attacker is positioned adjacent/on-path (MITM or compromised update server) and unauthenticated per the CVSS vector (PR:N), but exploitation requires the victim to approve the installation prompt (UI:R); successful abuse runs attacker-controlled code with the user's privileges and can compromise notes, credentials, and local data. No public exploit has been identified at time of analysis, and the 7.1 score with AC:H and UI:R indicates this is a meaningful supply-chain integrity flaw rather than a mass-exploitation priority.
RemediationAI
Vendor-released patch: upgrade Joplin Desktop for Windows to version 3.7.2 (advisory https://github.com/laurent22/joplin/security/advisories/GHSA-9wp7-hr9m-3273; fix commit 853659edf575c4f526c2b196e0629462aee9df28 via PR https://github.com/laurent22/joplin/pull/15539), which restores the publisherName check in app-update.yml so NsisUpdater.verifySignature() again validates the installer's Authenticode signer. Until upgrading, treat the update channel as untrusted: manually download installers from the official Joplin site over a trusted network and verify the Authenticode signature (the Digital Signatures tab on the installer properties) before approving any in-app update prompt - with the trade-off that users must judge signer identity themselves, since the app no longer does. Where managed deployment allows it, disable in-app automatic update checks via Joplin's settings so installers are only obtained through a controlled channel, or host updates on an internal mirror and restrict client egress to it, which removes the on-path/MITM vector at the cost of losing upstream auto-update convenience. Enforcing TLS inspection with strict certificate validation on the update endpoint raises the bar for interception, but note the assessment that default in-transit HTTPS integrity may already be a limiting factor for the attacker, so none of these controls are a substitute for patching to 3.7.2.
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
The root cause is CWE-345 (Insufficient Verification of Data Authenticity) in the Windows packaging configuration of Joplin. Joplin's desktop app is packaged with electron-builder and updated by electron-updater; the auto-update pipeline reads app-update.yml and, for NSIS targets, NsisUpdater.verifySignature() compares the Authenticode publisher of a downloaded installer against the publisherName configured in the build. Because packages/app-desktop/package.json omitted publisherName, no publisher identity was written into app-update.yml, so the verification step had nothing to compare against and effectively became a no-op on the Windows NSIS path. This is an updater trust-chain gap rather than a memory-safety or server-side flaw: any installer - signed by a different publisher or unsigned - can pass the check once the update metadata points to it. The CPE cpe:2.3:a:laurent22:joplin:*:*:*:*:*:*:*:* reflects all Joplin versions before the fix; the code change adding a publisherName array ("Joplin") to package.json restores the signer comparison for Windows builds. macOS and Linux update paths are not governed by this NSIS Authenticode check.
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
AV:A/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H
On-path control of the update channel is AV:A and AC:H, no auth is needed (PR:N) but the user must approve the install (UI:R); resulting code execution yields C:H/I:H/A:H at user privilege.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Joplin is an open source note-taking and to-do application that organises notes and lists into notebooks. Prior to 3.7.2, Joplin Desktop for Windows omits publisherName from packages/app-desktop/package.json, so the generated app-update.yml causes NsisUpdater.verifySignature() to skip comparison of a downloaded update's Authenticode signer with Joplin's signer. An attacker who controls the update delivery path can replace the update metadata and installer, and the client accepts an installer signed by another publisher or left unsigned after the user approves installation. Successful exploitation runs attacker-controlled code with the user's privileges and can compromise notes, credentials, and local data. This issue is fixed in version 3.7.2.
Technical POC Analysis
CWE-345 (also tagged CWE-353, CWE-494).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Joplin Desktop for Windows versions prior to 3.7.2 contain a missing update-signature verification flaw that could let an unauthenticated attacker on the update path deliver a malicious installer if a user approves the prompt. This supply-chain integrity issue affects any workforce using vulnerable Joplin installations for notes or sensitive data, potentially exposing credentials and local information under the user's privileges. No public exploit identified at time of analysis, and no vendor-released patch identified at time of analysis, but leadership should treat update-channel trust as a business risk.
No vendor-released patch identified at time of analysis; disable automatic updates in Joplin Desktop for Windows where feasible, distribute Joplin installers only through an internally controlled and authenticated software distribution channel, manually verify installer hashes and Authenticode signatures against vendor-published values before deployment, restrict outbound access to Joplin update servers, train users to reject unexpected update prompts, apply application allowlisting and endpoint detection, and monitor vendor advisories for a fixed release (3.7.2 or later).
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
Joplin is a free, open source note taking and to-do application, which can handle a large number of notes organised into
Joplin is a free, open source note taking and to-do application. Rated critical severity (CVSS 9.6), this vulnerability
Joplin is a free, open source note taking and to-do application. Rated critical severity (CVSS 9.6), this vulnerability
Joplin v2.8.8 allows attackers to execute arbitrary commands via a crafted payload injected into the Node titles. Rated
Joplin Server instances prior to 3.7.2 expose an SSO login-code redemption endpoint (GET /api/login_with_code/:id) that
Joplin is an open source, privacy-focused note taking app with sync capabilities for Windows, macOS, Linux, Android and
Joplin version 2.8.8 allows an external attacker to execute arbitrary commands remotely on any client that opens a link
Joplin is a free, open source note taking and to-do application, which can handle a large number of notes organised into
Joplin 1.2.6 for Desktop allows XSS via a LINK element in a note. Rated medium severity (CVSS 6.1), this vulnerability i
An XSS issue in Joplin desktop 1.0.190 to 1.0.245 allows arbitrary code execution via a malicious HTML embed tag. Rated
Joplin version prior to 1.0.90 contains a XSS evolving into code execution due to enabled nodeIntegration for that parti
Joplin through 1.0.184 allows Arbitrary File Read via XSS. Rated medium severity (CVSS 5.4), this vulnerability is remot
EUVD-2026-84166
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB