{"id":"CVE-2025-55149","aliases":["EUVD-2025-24027","GHSA-rrgf-hcr9-jq6h","PYSEC-2026-1967"],"status":"published","title":"Path Traversal Vulnerability in PDF Review Function (CWE-22)","description":"Tiny-Scientist is a lightweight framework for automating the entire lifecycle of scientific research—from ideation to implementation, writing, and review. In versions 0.1.1 and below, a critical path traversal vulnerability 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. This vulnerability allows attackers to: read any PDF file accessible to the server process, potentially access sensitive documents outside the intended directory and perform reconnaissance on the server's file system structure. This issue does not currently have a fix.","severity":{"version":"4.0","score":6.7,"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","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.00771,"percentile":0.5597,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-22"],"published":"2025-08-09T02:02:30Z","modified":"2026-10-28T02:31:12Z","affected":[{"source":"ghsa","ecosystem":"PyPI","package":"tiny-scientist","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"1.1.0"}]}]},{"source":"osv","ecosystem":"PyPI","package":"tiny-scientist","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"1.1.0"}]}],"versions":["0.0.1","0.0.1b0","0.0.2","0.0.3","0.0.4","0.1.0","0.1.1","0.1.2","0.1.3"]},{"source":"osv","ecosystem":"PyPI","package":"tiny-scientist","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"1.1.0"}]}],"versions":["0.0.1","0.0.1b0","0.0.2","0.0.3","0.0.4","0.1.0","0.1.1","0.1.2","0.1.3"]}],"products":[{"vendor":"ulab-uiuc","product":"tiny-scientist"}],"references":[{"url":"https://github.com/ulab-uiuc/tiny-scientist/security/advisories/GHSA-rrgf-hcr9-jq6h","tags":["x_refsource_CONFIRM","advisory","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2025-55149","tags":["advisory"]},{"url":"https://github.com/ulab-uiuc/tiny-scientist/commit/7fd42873603012acb8c55a4fc3eaac9ab18e6559","tags":["web"]},{"url":"https://github.com/advisories/GHSA-rrgf-hcr9-jq6h","tags":["advisory"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/55xxx/CVE-2025-55149.json","tags":["advisory"]},{"url":"https://github.com/ulab-uiuc/tiny-scientist","tags":["package"]},{"url":"https://pypi.org/project/tiny-scientist","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2025-55149","title":"Path Traversal Vulnerability in PDF Review Function (CWE-22)","description":"Tiny-Scientist is a lightweight framework for automating the entire lifecycle of scientific research—from ideation to implementation, writing, and review. In versions 0.1.1 and below, a critical path traversal vulnerability 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. This vulnerability allows attackers to: read any PDF file accessible to the server process, potentially access sensitive documents outside the intended directory and perform reconnaissance on the server's file system structure. This issue does not currently have a fix.","status":"published","published":"2025-08-09T02:02:30.63Z","modified":"2025-08-11T14:03:29.406Z","cvss":[{"version":"4.0","score":6.7,"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","level":"medium","assessor":"cna"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T14:32:52.839698Z"}],"euvd":[{"id":"EUVD-2025-24027","description":"Tiny-Scientist is a lightweight framework for automating the entire lifecycle of scientific research—from ideation to implementation, writing, and review. In versions 0.1.1 and below, a critical path traversal vulnerability 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. This vulnerability allows attackers to: read any PDF file accessible to the server process, potentially access sensitive documents outside the intended directory and perform reconnaissance on the server's file system structure. This issue does not currently have a fix.","status":"published","published":"2025-08-09T02:02:30Z","modified":"2025-08-11T14:03:29Z","cvss":[{"version":"4.0","score":6.7,"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","level":"medium"}],"updated_at":"2026-11-02T20:31:59.900029Z"}],"ghsa":[{"id":"GHSA-rrgf-hcr9-jq6h","title":"TinyScientist has Path Traversal Vulnerability in PDF Review Function (CWE-22)","description":"## Description\nA 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.\n\n## Impact\nThis vulnerability allows attackers to:\n- Read any PDF file accessible to the server process\n- Potentially access sensitive documents outside the intended directory\n- Perform reconnaissance on the server's file system structure\n\n## Vulnerable Code\nThe issue occurs in the `review_paper` function around line 744:\n\n```python\nif pdf_path.startswith(\"/api/files/\"):\n    # Safe path handling for API routes\n    relative_path = pdf_path[len(\"/api/files/\"):]\n    generated_base = os.path.join(project_root, \"generated\")\n    absolute_pdf_path = os.path.join(generated_base, relative_path)\nelse:\n    absolute_pdf_path = pdf_path  # VULNERABLE: Direct use of user input\n```\n\n## Proof of Concept\n```bash\ncurl -X POST http://localhost:5000/api/review \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"pdf_path\": \"/etc/passwd\"}'\n```\n\n## Credit\nThis vulnerability was discovered and reported by Ruizhe.","status":"published","published":"2025-08-11T13:38:14Z","modified":"2025-08-11T13:38:15Z","cvss":[{"version":"4.0","score":6.7,"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","level":"medium"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T14:38:53.767052Z"}],"nvd":[{"id":"CVE-2025-55149","description":"Tiny-Scientist is a lightweight framework for automating the entire lifecycle of scientific research—from ideation to implementation, writing, and review. In versions 0.1.1 and below, a critical path traversal vulnerability 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. This vulnerability allows attackers to: read any PDF file accessible to the server process, potentially access sensitive documents outside the intended directory and perform reconnaissance on the server's file system structure. This issue does not currently have a fix.","status":"published","published":"2025-08-09T03:15:47.77Z","modified":"2026-06-17T09:41:21.51Z","cvss":[{"version":"4.0","score":6.7,"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/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","level":"medium","assessor":"secondary"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T14:11:22.953396Z"}],"osv":[{"id":"CVE-2025-55149","title":"Path Traversal Vulnerability in PDF Review Function (CWE-22)","description":"Tiny-Scientist is a lightweight framework for automating the entire lifecycle of scientific research—from ideation to implementation, writing, and review. In versions 0.1.1 and below, a critical path traversal vulnerability 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. This vulnerability allows attackers to: read any PDF file accessible to the server process, potentially access sensitive documents outside the intended directory and perform reconnaissance on the server's file system structure. This issue does not currently have a fix.","status":"published","published":"2025-08-09T02:02:30.63Z","modified":"2026-10-28T02:31:12.685055828Z","cvss":[{"version":"4.0","score":6.7,"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","level":"medium"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T15:44:50.863921Z"},{"id":"GHSA-rrgf-hcr9-jq6h","title":"TinyScientist has Path Traversal Vulnerability in PDF Review Function (CWE-22)","description":"## Description\nA 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.\n\n## Impact\nThis vulnerability allows attackers to:\n- Read any PDF file accessible to the server process\n- Potentially access sensitive documents outside the intended directory\n- Perform reconnaissance on the server's file system structure\n\n## Vulnerable Code\nThe issue occurs in the `review_paper` function around line 744:\n\n```python\nif pdf_path.startswith(\"/api/files/\"):\n    # Safe path handling for API routes\n    relative_path = pdf_path[len(\"/api/files/\"):]\n    generated_base = os.path.join(project_root, \"generated\")\n    absolute_pdf_path = os.path.join(generated_base, relative_path)\nelse:\n    absolute_pdf_path = pdf_path  # VULNERABLE: Direct use of user input\n```\n\n## Proof of Concept\n```bash\ncurl -X POST http://localhost:5000/api/review \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"pdf_path\": \"/etc/passwd\"}'\n```\n\n## Credit\nThis vulnerability was discovered and reported by Ruizhe.","status":"published","published":"2025-08-11T13:38:14Z","modified":"2026-09-10T03:50:27.514533341Z","cvss":[{"version":"4.0","score":6.7,"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","level":"medium"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T15:46:56.281047Z"},{"id":"PYSEC-2026-1967","title":"TinyScientist has Path Traversal Vulnerability in PDF Review Function (CWE-22)","description":"## Description\nA 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.\n\n## Impact\nThis vulnerability allows attackers to:\n- Read any PDF file accessible to the server process\n- Potentially access sensitive documents outside the intended directory\n- Perform reconnaissance on the server's file system structure\n\n## Vulnerable Code\nThe issue occurs in the `review_paper` function around line 744:\n\n```python\nif pdf_path.startswith(\"/api/files/\"):\n    # Safe path handling for API routes\n    relative_path = pdf_path[len(\"/api/files/\"):]\n    generated_base = os.path.join(project_root, \"generated\")\n    absolute_pdf_path = os.path.join(generated_base, relative_path)\nelse:\n    absolute_pdf_path = pdf_path  # VULNERABLE: Direct use of user input\n```\n\n## Proof of Concept\n```bash\ncurl -X POST http://localhost:5000/api/review \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"pdf_path\": \"/etc/passwd\"}'\n```\n\n## Credit\nThis vulnerability was discovered and reported by Ruizhe.","status":"published","published":"2026-07-07T16:03:00.787606Z","modified":"2026-07-07T17:48:05.321893729Z","cvss":[{"version":"4.0","score":6.7,"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","level":"medium"}],"updated_at":"2026-11-02T15:52:55.537808Z"}]}}
