fkie_cve-2025-25187
Vulnerability from fkie_nvd
Published
2025-02-07 23:15
Modified
2025-04-11 18:56
Severity ?
7.8 (High) - CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
5.4 (Medium) - CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
5.4 (Medium) - CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
Summary
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 <kbd>ctrl</kbd>-<kbd>p</kbd> 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.
References
Impacted products
Vendor | Product | Version | |
---|---|---|---|
joplin_project | joplin | * |
{ "configurations": [ { "nodes": [ { "cpeMatch": [ { "criteria": "cpe:2.3:a:joplin_project:joplin:*:*:*:*:*:-:*:*", "matchCriteriaId": "054ACD95-A971-4DD1-B625-BCCD33BCA444", "versionEndExcluding": "3.1.24", "vulnerable": true } ], "negate": false, "operator": "OR" } ] } ], "cveTags": [], "descriptions": [ { "lang": "en", "value": "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\u0027s `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\u0027s 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 \u003ckbd\u003ectrl\u003c/kbd\u003e-\u003ckbd\u003ep\u003c/kbd\u003e 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." }, { "lang": "es", "value": "Joplin es una aplicaci\u00f3n de c\u00f3digo abierto y gratuita para tomar notas y realizar tareas pendientes, que puede gestionar una gran cantidad de notas organizadas en cuadernos. Esta vulnerabilidad se produce al a\u00f1adir t\u00edtulos de notas al documento mediante `dangerouslySetInnerHTML` de React, sin escapar primero las entidades HTML. Joplin carece de una Content-Security-Policy con un `script-src` restrictivo. Esto permite la ejecuci\u00f3n arbitraria de JavaScript a trav\u00e9s de controladores de eventos `onclick`/`onload` en l\u00ednea en HTML no saneado. Adem\u00e1s, la ventana principal de Joplin se crea con `nodeIntegration` configurado en `true`, lo que permite la ejecuci\u00f3n arbitraria de JavaScript para dar como resultado la ejecuci\u00f3n de c\u00f3digo arbitrario. Cualquiera que 1) reciba notas de fuentes desconocidas y 2) utilice ctrl-p para buscar se ve afectado. Este problema se ha solucionado en la versi\u00f3n 3.1.24 y se recomienda a todos los usuarios que actualicen. No existen workarounds para esta vulnerabilidad." } ], "id": "CVE-2025-25187", "lastModified": "2025-04-11T18:56:36.240", "metrics": { "cvssMetricV31": [ { "cvssData": { "attackComplexity": "LOW", "attackVector": "LOCAL", "availabilityImpact": "HIGH", "baseScore": 7.8, "baseSeverity": "HIGH", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "privilegesRequired": "NONE", "scope": "UNCHANGED", "userInteraction": "REQUIRED", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H", "version": "3.1" }, "exploitabilityScore": 1.8, "impactScore": 5.9, "source": "security-advisories@github.com", "type": "Secondary" }, { "cvssData": { "attackComplexity": "LOW", "attackVector": "NETWORK", "availabilityImpact": "NONE", "baseScore": 5.4, "baseSeverity": "MEDIUM", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "privilegesRequired": "LOW", "scope": "CHANGED", "userInteraction": "REQUIRED", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N", "version": "3.1" }, "exploitabilityScore": 2.3, "impactScore": 2.7, "source": "nvd@nist.gov", "type": "Primary" } ] }, "published": "2025-02-07T23:15:15.217", "references": [ { "source": "security-advisories@github.com", "tags": [ "Product" ], "url": "https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src" }, { "source": "security-advisories@github.com", "tags": [ "Product" ], "url": "https://github.com/laurent22/joplin/blob/2fc9bd476b0d9abcddb0a46f615a48333779d225/packages/app-desktop/plugins/GotoAnything.tsx#L558" }, { "source": "security-advisories@github.com", "tags": [ "Patch" ], "url": "https://github.com/laurent22/joplin/commit/360ece6f8873ef81afbfb98b25faad696ffccdb6" }, { "source": "security-advisories@github.com", "tags": [ "Exploit", "Vendor Advisory" ], "url": "https://github.com/laurent22/joplin/security/advisories/GHSA-9gfv-q6wj-fr3c" }, { "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "tags": [ "Exploit", "Vendor Advisory" ], "url": "https://github.com/laurent22/joplin/security/advisories/GHSA-9gfv-q6wj-fr3c" } ], "sourceIdentifier": "security-advisories@github.com", "vulnStatus": "Analyzed", "weaknesses": [ { "description": [ { "lang": "en", "value": "CWE-79" } ], "source": "security-advisories@github.com", "type": "Primary" } ] }
Loading…
Loading…
Sightings
Author | Source | Type | Date |
---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.
Loading…