---
cve: "CVE-2025-25187"
severity: "HIGH"
cvss: 7.8
epss: "0.5%"
vendor: "laurent22"
kev: false
exploited: false
published: "2025-02-07 23:15:15"
tags: [cve, security, high]
source: tsecurity.de CVE-Dossier
exported: "2026-11-09T15:41:58+01:00"
---

# CVE-2025-25187

> 7.8 HIGH · 🧪 PoC

## Beschreibung

Joplin is a free, open source note taking and to-do application, which can handle a large number of notes organised into notebooks. This vulnerability is caused by adding note titles to the document using React's `dangerouslySetInnerHTML`, without first escaping HTML entities. Joplin lacks a Content-Security-Policy with a restrictive `script-src`. This allows arbitrary JavaScript execution via inline `onclick`/`onload` event handlers in unsanitized HTML. Additionally, Joplin's main window is created with `nodeIntegration` set to `true`, allowing arbitrary JavaScript execution to result in arbitrary code execution. Anyone who 1) receives notes from unknown sources and 2) uses ctrl-p to search is impacted. This issue has been addressed in version 3.1.24 and all users are advised to upgrade. There are no known workarounds for this vulnerability.

## CNA-Record (Kanon, cvelistV5)

- CNA: **GitHub_M**
- State: PUBLISHED
- Stand: 2025-02-10 17:15:09
- CNA-CVSS: **7.8** (`CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H`)

## CISA-Anreicherung (vulnrichment/ADP)

- CISA-SSVC (Coordinator, v2.0.3):
  - Exploitation: **poc**
  - Automatable: **no**
  - Technical Impact: **total**

## CVSS-Vektor

```
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
```

| Metrik | Wert | Bewertung |
|---|---|---|
| AV Angriffsvektor | Lokal | good |
| AC Komplexität | Gering | bad |
| PR Privilegien | Keine | bad |
| UI Interaktion | Erforderlich | good |
| S Scope | Unverändert | good |
| C Vertraulichkeit | Hoch | bad |
| I Integrität | Hoch | bad |
| A Verfügbarkeit | Hoch | bad |

## Schwachstellen-Klasse

- **CWE-79** — Improper Neutralization of Input During Web Page Generation (Cross-site Scripting)
  The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.

## Angriffsmuster (CAPEC)

- [CAPEC-63 — Cross-Site Scripting (XSS)](https://capec.mitre.org/data/definitions/63.html) _(Severity: Very High)_
- [CAPEC-85 — AJAX Footprinting](https://capec.mitre.org/data/definitions/85.html) _(Severity: Low)_
- [CAPEC-209 — XSS Using MIME Type Mismatch](https://capec.mitre.org/data/definitions/209.html) _(Severity: Medium)_
- [CAPEC-588 — DOM-Based XSS](https://capec.mitre.org/data/definitions/588.html) _(Severity: Very High)_
- [CAPEC-591 — Reflected XSS](https://capec.mitre.org/data/definitions/591.html) _(Severity: Very High)_
- [CAPEC-592 — Stored XSS](https://capec.mitre.org/data/definitions/592.html) _(Severity: Very High)_

## Patch verfügbar (OSV)

- d58126484a585ce69e015571b33cdfb23abf7d42 (Commit)
- 360ece6f8873ef81afbfb98b25faad696ffccdb6 (Commit)

## Referenzen

- <https://github.com/laurent22/joplin/security/advisories/GHSA-9gfv-q6wj-fr3c>
- <https://github.com/laurent22/joplin/commit/360ece6f8873ef81afbfb98b25faad696ffccdb6>
- <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src>
- <https://github.com/laurent22/joplin/blob/2fc9bd476b0d9abcddb0a46f615a48333779d225/packages/app-desktop/plugins/GotoAnything.tsx#L558>

---
_Exportiert aus dem [tsecurity.de CVE-Dossier](https://tsecurity.de/sicherheitsluecken/cve-2025-25187/) · Datenquellen: EUVD (ENISA), NVD, OSV, CISA KEV, FIRST EPSS, Exploit-DB, BSI WID (CSAF)_
