GitHub Advisoryadvisory · PyPI

GHSA-rrgf-hcr9-jq6h TinyScientist has Path Traversal Vulnerability in PDF Review Function (CWE-22)

MEDIUM Published 2025-08-11 Modified 2025-08-11 Official page ↗
Aliases
CVE-2025-55149
Ecosystem
PyPI
Packages
tiny-scientist
Severity
Moderate
CVSS vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:H/VA:N/SC:N/SI:N/SA:N/E:U
Weaknesses
CWE-22
Reviewed
2025-08-11

Affected packages

• PyPI tiny-scientist: <= 1.1.0 (no fix yet)

Description

Description A critical path traversal vulnerability (CWE-22) has been identified in the `review_paper` function in `backend/app.py`. The vulnerability allows malicious users to access arbitrary PDF files on the server by providing crafted file paths that bypass the intended security restrictions. Impact This vulnerability allows attackers to: • Read any PDF file accessible to the server process • Potentially access sensitive documents outside the intended directory • Perform reconnaissance on the server's file system structure Vulnerable Code The issue occurs in the `review_paper` function around line 744: ```python if pdf_path.startswith("/api/files/"): # Safe path handling for API routes relative_path = pdf_path[len("/api/files/"):] generated_base = os.path.join(project_root, "generated") absolute_pdf_path = os.path.join(generated_base, relative_path) else: absolute_pdf_path = pdf_path # VULNERABLE: Direct use of user input ``` Proof of Concept ```bash curl -X POST http://localhost:5000/api/review \ -H "Content-Type: application/json" \ -d '{"pdf_path": "/etc/passwd"}' ``` Credit This vulnerability was discovered and reported by Ruizhe.

Related

Alias · CVE (1)

  • CVE-2025-55149 Tiny-Scientist is a lightweight framework for automating the entire lifecycle of scientific research—from ideation to implementation,… vulnerability

Weakness · CWE (1)

  • CWE-22 Improper Limitation of a Pathname to a Restricted Directory weakness

References