Joplin

Open-source note taking

Joplin desktop. This Flatpak wraps the official Linux DEB with zypak. It is not a vendor-official Flatpak.

Joplin is AGPL-3.0; this Flatpak is a redistribution, not vendor official.

notesmarkdownjoplin

Notebooks and editor
Notebooks and editor

Install

flatpak --user remote-add --if-not-exists thepeoples \
  https://flatpak.thepeoples.io/thepeoples.flatpakrepo
flatpak --user install -y thepeoples io.thepeoples.Joplin
flatpak --user install -y thepeoples io.thepeoples.Joplin//3.7.21

Optional system install uses sudo flatpak remote-add --if-not-exists --system and sudo flatpak install -y --system. The //version form pins the advertised ostree branch; stable tracks the latest advertised tree.

Previous versions

The remote keeps the current tree plus the last two vendor versions as extra ostree branches for rollback. Objects stay on the remote after a branch is dropped (publish does not delete).

  • Version 3.6.15 (ostree aff0dda63d19267bf765577d330630d71a4ab24b6e01bbcbeec7e9f47920203a)
flatpak --user install -y thepeoples io.thepeoples.Joplin//3.6.15
  • Version 3.6.16 (ostree 70329811148c649cc93c5608b521abbff08694189a5e6d3c68285e86a23b7e45)
flatpak --user install -y thepeoples io.thepeoples.Joplin//3.6.16

Verify

  • App id io.thepeoples.Joplin, vendor Laurent Cozic, version 3.7.21, license AGPL-3.0-or-later
  • Download 214.0 MB · installed 641.0 MB
  • sha256 14de2d5524e45341de5f0b68a1e78191b796a6c9817949c49b80afe5cd6ab965
  • Ostree key fingerprint 98D786877B6C4E8C6889CBD2E75B1C5B0CB2D841
  • Homepage https://joplinapp.org/

Input scan

Pinned deb Joplin-3.7.21.deb, extracted without install scripts, scanned before wrap. 2026-10-14 19:39 UTC · trivy 0.73.0 · vuln DB 2026-10-14.

Wrap

Layers this remote adds. Gate fails on CRITICAL.

none

gate pass

Vendor

In the upstream package. Not patched here.

7 CRITICAL · 74 HIGH · 36 MEDIUM · 7 LOW

Vendor findings 124 · 7 CRITICAL · 74 HIGH · 36 MEDIUM · 7 LOW
SeverityIDPackageInstalledFixedTitle
CRITICALCVE-2021-44906minimist1.2.01.2.6, 0.2.4minimist: prototype pollution
CRITICALCVE-2021-44906minimist1.2.31.2.6, 0.2.4minimist: prototype pollution
CRITICALCVE-2023-36665protobufjs7.2.47.2.5, 6.11.4protobufjs: prototype pollution using user-controlled protobuf message
CRITICALCVE-2026-41242protobufjs7.2.48.0.1, 7.5.5protobufjs: protobufjs: Arbitrary code execution via injected protobuf definition type fields
CRITICALCVE-2026-59873tar6.0.27.5.19tar: node-tar: Denial of Service via crafted gzip bomb
CRITICALCVE-2026-59873tar6.1.117.5.19tar: node-tar: Denial of Service via crafted gzip bomb
CRITICALCVE-2026-59873tar6.1.27.5.19tar: node-tar: Denial of Service via crafted gzip bomb
HIGHCVE-2026-102282adm-zip0.5.160.6.1adm-zip: adm-zip: Privilege escalation via unfiltered permission bits in extracted archives
HIGHCVE-2026-39244adm-zip0.5.160.6.0adm-zip: adm-zip: Denial of Service via crafted ZIP file leading to excessive memory allocation
HIGHCVE-2026-77301adm-zip0.5.160.6.1adm-zip: adm-zip: Denial of Service via uncontrolled memory allocation
HIGHGHSA-8238-w5pm-2374adm-zip0.5.160.6.1adm-zip: Unhandled error event in async DEFLATE decompression crashes Node.js process (DoS)
HIGHGHSA-rcw4-f5rp-g42vadm-zip0.5.160.6.1adm-zip: Decompression-bomb protection (fix for CVE-2026-39244) can be bypassed by declaring uncompressed size as 0
HIGHCVE-2026-102276brace-expansion1.1.75.0.10, 3.0.7, 2.1.5, 1.1.19brace-expansion: brace-expansion: Denial of Service via stack exhaustion from crafted brace patterns
HIGHCVE-2026-102278brace-expansion1.1.75.0.11, 3.0.8, 2.1.6, 1.1.20brace-expansion: brace-expansion: Denial of Service via uncontrolled recursion in nested brace patterns
HIGHCVE-2026-13149brace-expansion1.1.75.0.7, 1.1.16, 2.1.2brace-expansion: Brace-expansion: Denial of Service due to exponential-time complexity
HIGHCVE-2026-14257brace-expansion1.1.75.0.8, 3.0.3, 2.1.3, 1.1.17brace-expansion: Brace-expansion: Denial of Service via memory exhaustion in expand() function
HIGHCVE-2026-69152brace-expansion1.1.71.1.18, 2.1.4, 3.0.6, 5.0.9brace-expansion: DoS via unbounded intermediate arrays, bypassing the CVE-2026-14257 mitigation
HIGHCVE-2026-102673electron39.8.541.10.4, 42.5.2, 43.0.0electron: Electron: Sandbox bypass via popups opened from sandboxed iframes
HIGHCVE-2026-102674electron39.8.541.10.6, 42.9.2, 43.4.1, 44.0.0-beta.5electron: Electron: Sandbox bypass via popup window creation
HIGHCVE-2026-102675electron39.8.541.10.6, 42.9.2, 43.4.1, 44.0.0-beta.5electron: Electron: Cross-origin information disclosure via improper CORS enforcement in custom protocol handlers
HIGHCVE-2026-102676electron39.8.541.10.6, 42.9.2, 43.4.1, 44.0.0-beta.5electron: electron: Privilege escalation via unauthorized Node.js integration in web workers
HIGHCVE-2026-70601electron39.8.539.8.9, 40.9.2, 41.2.2, 42.0.0-beta.5Electron: Context isolation bypass via Function.prototype.bind hijack
HIGHCVE-2026-70604electron39.8.542.0.0, 41.4.0, 40.9.3, 39.8.10Electron: Custom protocol with supportFetchAPI but not corsEnabled allows cross-origin reads
HIGHCVE-2026-70608electron39.8.542.0.1, 41.10.3, 39.8.10Electron: Sandboxed iframe can bypass the allow-popups restriction via the OpenURL navigation path
HIGHCVE-2022-25881http-cache-semantics4.1.04.1.1http-cache-semantics: Regular Expression Denial of Service (ReDoS) vulnerability
HIGHCVE-2026-93748http-cache-semantics4.1.0—http-cache-semantics: http-cache-semantics: Information Disclosure via max-stale directive
HIGHCVE-2020-7788ini1.3.01.3.6nodejs-ini: Prototype pollution via malicious INI file
HIGHCVE-2024-29415ip1.1.5—node-ip: Incomplete fix for CVE-2023-42282
HIGHCVE-2022-3517minimatch3.0.43.0.5nodejs-minimatch: ReDoS via the braceExpand function
HIGHCVE-2026-26996minimatch3.0.410.2.1, 9.0.6, 8.0.5, 7.4.7, 6.2.1, 5.1.7, 4.2.4, 3.1.3minimatch: minimatch: Denial of Service via specially crafted glob patterns
HIGHCVE-2026-27903minimatch3.0.410.2.3, 9.0.7, 8.0.6, 7.4.8, 6.2.2, 5.1.8, 4.2.5, 3.1.3minimatch: minimatch: Denial of Service due to unbounded recursive backtracking via crafted glob patterns
HIGHCVE-2026-27904minimatch3.0.410.2.3, 9.0.7, 8.0.6, 7.4.8, 6.2.2, 5.1.8, 4.2.5, 3.1.4minimatch: Minimatch: Denial of Service via catastrophic backtracking in glob expressions
HIGHCVE-2026-44289protobufjs7.2.47.5.6, 8.0.2protobufjs: protobufjs: Denial of Service via uncontrolled recursion in protobuf decoding
HIGHCVE-2026-44290protobufjs7.2.47.5.6, 8.0.2protobufjs: protobufjs: Denial of Service via crafted schema
HIGHCVE-2026-44291protobufjs7.2.47.5.6, 8.0.2protobufjs: protobufjs: Arbitrary Code Execution via prototype pollution
HIGHCVE-2026-44293protobufjs7.2.47.5.6, 8.0.2protobufjs: protobufjs: Arbitrary code execution due to unsafe expression generation from crafted protobuf descriptors
HIGHCVE-2026-48712protobufjs7.2.47.6.1, 8.4.1protobufjs: protobufjs: Denial of Service via uncontrolled recursion with crafted protobuf payload
HIGHCVE-2022-24713regex1.4.61.5.5Mozilla: Denial of Service via complex regular expressions
HIGHCVE-2022-25883semver6.0.07.5.2, 6.3.1, 5.7.2nodejs-semver: Regular expression denial of service
HIGHCVE-2022-25883semver7.3.27.5.2, 6.3.1, 5.7.2nodejs-semver: Regular expression denial of service
HIGHCVE-2022-25883semver7.3.57.5.2, 6.3.1, 5.7.2nodejs-semver: Regular expression denial of service
HIGHGHSA-f88m-g3jw-g9cjsharp0.34.50.35.0sharp inherited vulnerabilities in libvips: CVE-2026-33327, CVE-2026-33328, CVE-2026-35590, CVE-2026-35591
HIGHGHSA-rgj7-g3m4-5g8csharp0.34.50.35.4sharp: Vulnerabilities in libheif: GHSA-g89c-p67h-r497 and GHSA-2jg2-4ch7-h545
HIGHGHSA-wq5f-xc86-pv6wsharp0.34.50.35.5sharp : Vulnerability in librsvg dependency CVE-2026-96889
HIGHCVE-2022-0355simple-get4.0.04.0.1, 3.1.1, 2.8.2simple-get: exposure of sensitive information to an unauthorized actor
HIGHCVE-2021-27290ssri8.0.06.0.2, 7.1.1, 8.0.1nodejs-ssri: Regular expression DoS (ReDoS) when parsing malicious SRI in strict mode
HIGHCVE-2021-32803tar6.0.23.2.3, 4.4.15, 5.0.7, 6.1.2nodejs-tar: Insufficient symlink protection allowing arbitrary file creation and overwrite
HIGHCVE-2021-32804tar6.0.23.2.2, 4.4.14, 5.0.6, 6.1.1nodejs-tar: Insufficient absolute path sanitization allowing arbitrary file creation and overwrite
HIGHCVE-2021-37701tar6.0.24.4.16, 5.0.8, 6.1.7nodejs-tar: Insufficient symlink protection due to directory cache poisoning using symbolic links allowing arbitrary file creation and overwrite
HIGHCVE-2021-37701tar6.1.24.4.16, 5.0.8, 6.1.7nodejs-tar: Insufficient symlink protection due to directory cache poisoning using symbolic links allowing arbitrary file creation and overwrite
HIGHCVE-2021-37712tar6.0.24.4.18, 5.0.10, 6.1.9nodejs-tar: Insufficient symlink protection due to directory cache poisoning using symbolic links allowing arbitrary file creation and overwrite
HIGHCVE-2021-37712tar6.1.24.4.18, 5.0.10, 6.1.9nodejs-tar: Insufficient symlink protection due to directory cache poisoning using symbolic links allowing arbitrary file creation and overwrite
HIGHCVE-2021-37713tar6.0.24.4.18, 5.0.10, 6.1.9nodejs-tar: Arbitrary File Creation/Overwrite on Windows via insufficient relative path sanitization
HIGHCVE-2021-37713tar6.1.24.4.18, 5.0.10, 6.1.9nodejs-tar: Arbitrary File Creation/Overwrite on Windows via insufficient relative path sanitization
HIGHCVE-2026-23745tar6.0.27.5.3node-tar: tar: node-tar: Arbitrary file overwrite and symlink poisoning via unsanitized linkpaths in archives
HIGHCVE-2026-23745tar6.1.117.5.3node-tar: tar: node-tar: Arbitrary file overwrite and symlink poisoning via unsanitized linkpaths in archives
HIGHCVE-2026-23745tar6.1.27.5.3node-tar: tar: node-tar: Arbitrary file overwrite and symlink poisoning via unsanitized linkpaths in archives
HIGHCVE-2026-23950tar6.0.27.5.4node-tar: tar: node-tar: Arbitrary file overwrite via Unicode path collision race condition
HIGHCVE-2026-23950tar6.1.117.5.4node-tar: tar: node-tar: Arbitrary file overwrite via Unicode path collision race condition
HIGHCVE-2026-23950tar6.1.27.5.4node-tar: tar: node-tar: Arbitrary file overwrite via Unicode path collision race condition
HIGHCVE-2026-24842tar6.0.27.5.7node-tar: tar: node-tar: Arbitrary file creation via path traversal bypass in hardlink security check
HIGHCVE-2026-24842tar6.1.117.5.7node-tar: tar: node-tar: Arbitrary file creation via path traversal bypass in hardlink security check
HIGHCVE-2026-24842tar6.1.27.5.7node-tar: tar: node-tar: Arbitrary file creation via path traversal bypass in hardlink security check
HIGHCVE-2026-26960tar6.0.27.5.8node-tar: node-tar: Arbitrary file read/write via malicious archive hardlink creation
HIGHCVE-2026-26960tar6.1.117.5.8node-tar: node-tar: Arbitrary file read/write via malicious archive hardlink creation
HIGHCVE-2026-26960tar6.1.27.5.8node-tar: node-tar: Arbitrary file read/write via malicious archive hardlink creation
HIGHCVE-2026-29786tar6.0.27.5.10node-tar: hardlink path traversal via drive-relative linkpath
HIGHCVE-2026-29786tar6.1.117.5.10node-tar: hardlink path traversal via drive-relative linkpath
HIGHCVE-2026-29786tar6.1.27.5.10node-tar: hardlink path traversal via drive-relative linkpath
HIGHCVE-2026-31802tar6.0.27.5.11tar: tar: File overwrite via drive-relative symlink traversal
HIGHCVE-2026-31802tar6.1.117.5.11tar: tar: File overwrite via drive-relative symlink traversal
HIGHCVE-2026-31802tar6.1.27.5.11tar: tar: File overwrite via drive-relative symlink traversal
HIGHCVE-2026-59874tar6.0.27.5.18tar: Node-tar: Denial of Service via malformed tar archive header
HIGHCVE-2026-59874tar6.1.117.5.18tar: Node-tar: Denial of Service via malformed tar archive header
HIGHCVE-2026-59874tar6.1.27.5.18tar: Node-tar: Denial of Service via malformed tar archive header
HIGHCVE-2026-73566tar6.0.27.5.21tar: node-tar: Denial of Service via crafted long-path tar archive
HIGHCVE-2026-73566tar6.1.117.5.21tar: node-tar: Denial of Service via crafted long-path tar archive
HIGHCVE-2026-73566tar6.1.27.5.21tar: node-tar: Denial of Service via crafted long-path tar archive
HIGHCVE-2024-12905tar-fs2.0.01.16.4, 2.1.2, 3.0.7tar-fs: link following and path traversal via maliciously crafted tar file
HIGHCVE-2025-48387tar-fs2.0.01.16.5, 2.1.3, 3.0.9tar-fs: tar-fs has issue where extract can write outside the specified dir with a specific tarball
HIGHCVE-2025-59343tar-fs2.0.03.1.1, 2.1.4, 1.16.6tar-fs: tar-fs symlink validation bypass
MEDIUMCVE-2026-76845adm-zip0.5.16—adm-zip: adm-zip: Arbitrary File Overwrite via Symlink Following
MEDIUMGHSA-c6fg-446q-cg94adm-zip0.5.160.6.1adm-zip: getDataAsync() bypasses the maxOutputLength size guard enforced by the synchronous getData() path
MEDIUMGHSA-p634-w6r4-rjp2adm-zip0.5.160.6.1adm-zip: Duplicate ZIP entry names: getEntry() and extractAllTo() resolve to different content
MEDIUMCVE-2026-102277brace-expansion1.1.75.0.12, 3.0.9, 2.1.7, 1.1.21brace-expansion: brace-expansion: Denial of Service via crafted brace patterns
MEDIUMCVE-2026-33750brace-expansion1.1.75.0.5, 3.0.2, 2.0.3, 1.1.13brace-expansion: brace-expansion: Denial of Service via zero step value in brace pattern
MEDIUMCVE-2026-25541bytes1.10.11.11.1Bytes is a utility library for working with bytes. From version 1.2.1 ...
MEDIUMCVE-2026-102672electron39.8.539.8.10, 41.10.5, 42.0.0-beta.2Electron: Local race condition in Squirrel.Mac update installation on macOS
MEDIUMCVE-2026-70597electron39.8.539.8.8, 40.9.1, 41.2.1, 42.0.0-beta.3Electron: Parent process code-sign check is spoofable
MEDIUMCVE-2026-70599electron39.8.539.8.7, 40.9.0, 41.2.0, 42.0.0-beta.1Electron: Permission Check Handler Receives Main Frame Origin Instead of Requesting Iframe Origin
MEDIUMCVE-2026-70602electron39.8.539.8.8, 40.9.0, 41.2.1, 42.0.0-beta.3Electron: Extension tab APIs operate across session boundaries
MEDIUMCVE-2026-70603electron39.8.542.0.0-beta.1, 41.1.1, 40.9.0, 39.8.6Electron: shell.openPath path validation bypass via embedded null byte
MEDIUMCVE-2026-70605electron39.8.539.8.8, 40.9.1, 41.2.1, 42.0.0-beta.3Electron: HTTP redirect followed into local file loader
MEDIUMCVE-2026-70607electron39.8.539.8.8, 40.9.0, 41.2.1, 42.0.0-beta.3Electron: window.open features string controls some window options considered privileged
MEDIUMCVE-2026-70609electron39.8.539.8.7, 40.9.0, 41.2.0, 42.0.0-beta.1Electron: DevTools JavaScript Injection via Unsanitized Dock State Parameter
MEDIUMCVE-2026-70610electron39.8.539.8.9, 40.9.2, 41.2.2, 42.0.0-beta.4Electron: contextBridge object copy honors prototype setters
MEDIUMCVE-2026-70611electron39.8.539.8.9, 40.9.2, 41.2.1, 42.0.0-beta.3Electron: DevTools embedder handler executes arbitrary files via shell open
MEDIUMCVE-2026-70612electron39.8.539.8.8, 40.9.0, 41.2.1, 42.0.0-beta.3Electron: Sandboxed iframes can launch external protocol handlers
MEDIUMCVE-2020-7598minimist1.2.00.2.1, 1.2.3nodejs-minimist: prototype pollution allows adding or modifying properties of Object.prototype using a constructor or __proto__ payload
MEDIUMCVE-2026-44288protobufjs7.2.47.5.6, 8.0.2protobufjs: protobufjs: Security control bypass due to improper handling of overlong UTF-8 sequences
MEDIUMCVE-2026-44292protobufjs7.2.47.5.6, 8.0.2protobufjs: protobufjs: Data integrity impact due to prototype pollution
MEDIUMCVE-2026-44294protobufjs7.2.47.5.6, 8.0.2protobufjs: protobufjs: Denial of Service due to unescaped control characters in field names
MEDIUMCVE-2026-45740protobufjs7.2.47.5.8, 8.2.0protobufjs: protobufjs: Denial of Service via crafted JSON descriptors
MEDIUMCVE-2026-54269protobufjs7.2.47.6.3, 8.6.0protobufjs: protobufjs-cli: protobufjs: Denial of Service due to name collision with runtime helpers
MEDIUMCVE-2024-28863tar6.0.26.2.1node-tar: denial of service while parsing a tar file due to lack of folders depth validation
MEDIUMCVE-2024-28863tar6.1.116.2.1node-tar: denial of service while parsing a tar file due to lack of folders depth validation
MEDIUMCVE-2024-28863tar6.1.26.2.1node-tar: denial of service while parsing a tar file due to lack of folders depth validation
MEDIUMCVE-2026-53655tar6.0.27.5.16node-tar: node-tar: File smuggling due to inconsistent tar archive parsing
MEDIUMCVE-2026-53655tar6.1.117.5.16node-tar: node-tar: File smuggling due to inconsistent tar archive parsing
MEDIUMCVE-2026-53655tar6.1.27.5.16node-tar: node-tar: File smuggling due to inconsistent tar archive parsing
MEDIUMCVE-2026-59871tar6.0.27.5.18node-tar: node-tar: Denial of Service due to incorrect PAX path handling
MEDIUMCVE-2026-59871tar6.1.117.5.18node-tar: node-tar: Denial of Service due to incorrect PAX path handling
MEDIUMCVE-2026-59871tar6.1.27.5.18node-tar: node-tar: Denial of Service due to incorrect PAX path handling
MEDIUMCVE-2026-59875tar6.0.27.5.17node-tar: node-tar: Denial of Service via crafted archive with NUL bytes in metadata
MEDIUMCVE-2026-59875tar6.1.117.5.17node-tar: node-tar: Denial of Service via crafted archive with NUL bytes in metadata
MEDIUMCVE-2026-59875tar6.1.27.5.17node-tar: node-tar: Denial of Service via crafted archive with NUL bytes in metadata
MEDIUMCVE-2026-25727time0.3.440.3.47time: time affected by a stack exhaustion denial of service attack
LOWCVE-2025-5889brace-expansion1.1.72.0.2, 1.1.12, 3.0.1, 4.0.1brace-expansion: juliangruber brace-expansion index.js expand redos
LOWCVE-2017-16137debug4.1.02.6.9, 3.1.0, 3.2.7, 4.3.1nodejs-debug: Regular expression Denial of Service
LOWCVE-2026-70598electron39.8.539.8.10, 40.9.0, 41.2.1, 42.0.0-beta.3Electron: Off-screen rendering trusts GPU-supplied geometry over shared-memory size
LOWCVE-2026-70600electron39.8.539.8.8, 40.9.1, 41.2.1, 42.0.0-beta.3Electron: Cross-origin iframe can position native autofill popup
LOWCVE-2023-42282ip1.1.52.0.1, 1.1.9nodejs-ip: arbitrary code execution via the isPublic() function
LOWGHSA-cq8v-f236-94qcrand0.7.30.9.3, 0.10.1, 0.8.6Rand is unsound with a custom logger using rand::rng()
LOWCVE-2025-58160tracing-subscriber0.2.250.3.20tracing-subscriber: Tracing log pollution

Full report (JSON)

Previous scans

Daily Trivy refresh. Current report plus the last 14 full scans; older copies are deleted.

ScannedVuln DBVersionWrapVendorReport
2026-10-14 06:51 UTC2026-10-143.7.21none7 CRITICAL · 74 HIGH · 36 MEDIUM · 7 LOWJSON
2026-10-13 06:57 UTC2026-10-133.7.21none7 CRITICAL · 74 HIGH · 36 MEDIUM · 7 LOWJSON
2026-10-12 09:28 UTC2026-10-123.7.21none7 CRITICAL · 74 HIGH · 37 MEDIUM · 7 LOWJSON
2026-10-12 06:51 UTC2026-10-123.7.21none7 CRITICAL · 74 HIGH · 37 MEDIUM · 7 LOWJSON
2026-10-11 06:52 UTC2026-10-113.7.21none7 CRITICAL · 74 HIGH · 37 MEDIUM · 7 LOWJSON
2026-10-10 06:52 UTC2026-10-103.7.21none7 CRITICAL · 74 HIGH · 37 MEDIUM · 7 LOWJSON
2026-10-09 06:51 UTC2026-10-083.7.21none7 CRITICAL · 74 HIGH · 37 MEDIUM · 7 LOWJSON
2026-10-08 19:32 UTC2026-10-083.7.21none7 CRITICAL · 74 HIGH · 37 MEDIUM · 7 LOWJSON
2026-10-08 06:51 UTC2026-10-073.7.21none7 CRITICAL · 74 HIGH · 37 MEDIUM · 7 LOWJSON
2026-10-07 06:51 UTC2026-10-073.7.21none7 CRITICAL · 74 HIGH · 37 MEDIUM · 7 LOWJSON
2026-10-06 06:51 UTC2026-10-063.7.21none7 CRITICAL · 73 HIGH · 37 MEDIUM · 7 LOWJSON
2026-09-27 07:34 UTC2026-09-273.7.21none7 CRITICAL · 63 HIGH · 32 MEDIUM · 7 LOWJSON
2026-09-27 06:52 UTC2026-09-273.7.18none7 CRITICAL · 63 HIGH · 32 MEDIUM · 7 LOWJSON
2026-09-26 07:08 UTC2026-09-263.7.18none7 CRITICAL · 63 HIGH · 32 MEDIUM · 7 LOWJSON