Skip to main content

Papermerge CVE-2026-105314

| EUVDEUVD-2026-92275 HIGH
Path Traversal: '../filedir' (CWE-24)
2026-10-05 cve@mitre.org GHSA-5557-484j-55xw
7.5
CVSS 3.1 · Vendor: mitre
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as standard user
  2. Delivery
    Send crafted /api/documents/upload with traversal path
  3. Exploit
    Write malicious .pth into site-packages
  4. Execution
    Await next Python interpreter restart
  5. Impact
    Code auto-executed in app context

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path traversal prevention
Exploitation Conditions

Requires a valid authenticated Papermerge account at standard (non-privileged) user level and network access to the /api/documents/upload API endpoint on a deployment running version 3.5.3. The attacker must supply a filename with directory-traversal sequences that resolves into the Python interpreter's site-packages directory, and the written file must be a .pth file whose embedded code Python auto-executes. The decisive limiting factor is timing: the payload runs only 'upon the next start of the Python interpreter,' i.e. an application/worker restart the attacker typically does not control, so exploitation is not instantaneous. Additional limiters: authentication is mandatory (not a pre-auth flaw), and success depends on the application process having write permission to site-packages (common in single-user/venv or container deployments, less so where site-packages is read-only).

Impact

This is a credible but conditionally-gated RCE. The provided CVSS 3.1 vector (AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H, base 7.5) aligns well with the description: network-reachable API, a low-privileged ('standard user') authenticated account required (PR:L), no user interaction, and full confidentiality/integrity/availability impact consistent with arbitrary code execution. The AC:H rating is justified and important - the .pth payload does not execute on upload but only 'upon the next start of the Python interpreter,' a precondition the attacker generally does not control, which both delays and makes exploitation less deterministic. Public exploit code exists (a documented PoC with write-up), so weaponization effort is low once an attacker has a valid account. No CISA KEV listing and no EPSS score were provided in the input, so there is no evidence of active, widespread exploitation at time of analysis; the combination of PoC-available + authentication-required + delayed trigger points toward opportunistic/targeted risk rather than mass exploitation. Net: a real, patch-worthy priority for anyone running Papermerge 3.5.3 with multiple user accounts, but the PR:L and interpreter-restart dependency meaningfully lower real-world risk below a drive-by unauthenticated RCE. Missing signals to verify: EPSS probability and KEV status were not supplied and should be checked independently.

Exploit ScenarioDerived

A standard (non-admin) Papermerge user authenticates and sends a crafted POST to /api/documents/upload whose filename contains directory-traversal sequences, causing a Python .pth file to be written into the interpreter's site-packages directory. The next time the Papermerge/Python process restarts (deploy, crash-recovery, or scheduled restart), the interpreter automatically executes the attacker's code embedded in the .pth file, yielding code execution in the application's context. A public PoC (PDF write-up and supporting files) demonstrating this arbitrary-file-write-to-RCE chain is available.

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

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

Alert me

AnalysisAIv1 – Oct 05, 2026

Papermerge 3.5.3 permits an authenticated standard user to achieve remote code execution by uploading a crafted file to /api/documents/upload with directory-traversal sequences in the filename, causing a malicious Python .pth file to be written into the interpreter's site-packages directory; the embedded code executes only when the Python interpreter next starts, for example on an application or worker restart. Publicly available exploit code exists via a GitHub PoC repository and accompanying PDF, and the flaw is conditionally gated by requiring the Papermerge process to have write access to site-packages and by the attacker not controlling restart timing, making it a credible but conditionally-gated RCE rather than an immediately triggerable one.

RemediationAI

No vendor-released patch version was identified in the provided intelligence; treat any Papermerge version above 3.5.3 as potentially fixed only after checking the project's release notes. Primary compensating controls: run the Papermerge application process under an account that does not have write permission to the Python interpreter's site-packages directory, for example a dedicated service user in a container or virtualenv where site-packages is owned by root and mounted read-only; this stops the traversal write but may break workflows that pip-install packages at runtime. Restrict upload privileges and monitor or restrict access to /api/documents/upload to trusted, authenticated users, since the flaw requires a valid standard account. Sanitize or reject multipart filenames containing traversal sequences at a reverse proxy or WAF, though filename parsing inconsistencies across proxies can create bypasses and may block legitimate files with dots or slashes. Because the .pth payload only executes on the next Python interpreter start, monitor site-packages for unexpected .pth files and remove them before any restart. No vendor advisory URL was supplied; the public PoC references are https://github.com/kashishtopi/cve-pocs/tree/main/papermerge-core-arbitrary-file-write-rce and https://github.com/kashishtopi/cve-pocs/blob/main/papermerge-core-arbitrary-file-write-rce/HR-papermerge-core-path-traversal-rce.pdf.

Affected VersionsENISA

Papermerge 3.5.3

Affected Packages

euvd papermerge no fix

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

Papermerge is an open-source document management system; its papermerge-core component exposes a document upload API endpoint (/api/documents/upload) that accepts multipart file uploads. CWE-24 (Path Traversal: '../filedir') describes the root cause: the application fails to adequately neutralize traversal sequences in the user-supplied filename, so a filename such as ../../.../site-packages/evil.pth escapes the intended upload directory. Python's .pth files are special: when placed in a directory on sys.path, typically site-packages, lines beginning with 'import ' or any executable line are processed at interpreter startup, enabling code execution. Per the CVSS vector CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H, the attack is network-reachable, requires low-privileged authentication, needs no user interaction, and has high complexity driven by the need for write permission into site-packages and the timing dependency on a subsequent interpreter restart, since the payload runs only upon the next start of the Python interpreter. The referenced upstream files papermerge/core/features/document/router.py (upload routing) and papermerge/core/pathlib.py (path handling) are the likely vulnerable code locations.

Know when Python 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 (mitre) PRIMARY 7.5 HIGH
AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 7.5 HIGH

Network-reachable API with a required standard user account (PR:L); AC:H because code execution depends on an interpreter restart outside attacker control; RCE yields full C/I/A impact.

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

Primary rating from Vendor (mitre).

CVSS VectorVendor: mitre

Attack Vector
Network
Attack Complexity
High
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

DescriptionCVE.org

Papermerge 3.5.3 allows remote code execution by a standard user via directory traversal in a /api/documents/upload call. A Python .pth file can be written to site-packages, and its code is executed upon the next start of the Python interpreter.

Technical POC Analysis

Evidence note: the supplied PDF (HR-papermerge-core-path-traversal-rce.pdf) is a ReportLab researcher report whose text streams are compressed/image data and are not readable here.

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

Latest POC

2 public PoC links from github

Sign in to open the public PoC links collected for this CVE.

Executive ViewAI

Why It Matters

Papermerge 3.5.3 is affected by a high-severity remote code execution flaw that could allow an attacker to run malicious code on the server hosting the document management platform. Publicly available exploit code exists, and no vendor-released patch is currently available, so organizations using this version to store or process sensitive documents face elevated risk of data compromise, service disruption, or lateral movement. Leadership should prioritize identifying affected instances and reducing the application's ability to write to system directories.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations include restricting access to the /api/documents/upload endpoint, running Papermerge with least privilege so it cannot write to Python site-packages, using read-only or restricted-write containers/filesystems, blocking directory-traversal sequences in filenames via application validation or a WAF, auditing site-packages for unexpected .pth files, controlling service/worker restarts, and segmenting the application from critical systems.

Threat Intelligence Overview

EPSS Score
0.9%
Top 42% exploitable
Prevalence
Low
niche open-source self-hosted document management system, limited enterprise footprint
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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 Yes
EPSS 0.9%
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

59
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +38
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

More in Python

View all
CVE-2025-24016 CRITICAL POC
9.9 Feb 10

Wazuh SIEM platform versions 4.4.0 through 4.9.0 contain an unsafe deserialization vulnerability in the DistributedAPI t

CVE-2025-27520 CRITICAL POC
9.8 Apr 04

BentoML version 1.4.2 and earlier contains an unauthenticated remote code execution vulnerability through insecure deser

CVE-2025-2945 CRITICAL POC
9.9 Apr 03

pgAdmin 4 contains critical remote code execution vulnerabilities in the Query Tool download and Cloud Deployment endpoi

CVE-2013-5093 MEDIUM POC
6.8 Sep 27

The renderLocalView function in render/views.py in graphite-web in Graphite 0.9.5 through 0.9.10 uses the pickle Python

CVE-2025-32375 CRITICAL POC
9.8 Apr 09

BentoML is a Python library for building online serving systems optimized for AI apps and model inference. Rated critica

CVE-2014-0224 HIGH POC
7.4 Jun 05

OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph

CVE-2024-21644 HIGH POC
7.5 Jan 08

pyLoad download manager version prior to 0.5.0b3.dev77 exposes the Flask SECRET_KEY through an unauthenticated endpoint.

CVE-2026-33017 CRITICAL POC
9.3 Mar 17

Langflow (a visual LLM pipeline builder) contains a critical unauthenticated code execution vulnerability (CVE-2026-3301

CVE-2017-9462 HIGH POC
8.8 Jun 06

In Mercurial before 4.1.3, "hg serve --stdio" allows remote authenticated users to launch the Python debugger, and conse

CVE-2026-49869 CRITICAL POC
10.0 Jun 26

Unauthenticated remote code execution affects Kestra OSS (the open-source event-driven orchestration platform) prior to

CVE-2026-39987 CRITICAL POC
9.3 Apr 08

Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/

CVE-2024-21645 MEDIUM POC
5.3 Jan 08

pyLoad is the free and open-source Download Manager written in pure Python. Rated medium severity (CVSS 5.3), this vulne

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