CVE-2026-85687
Received Received - Intake

Surya 0.22.1 Unauthenticated Arbitrary File Read

Vulnerability report for CVE-2026-85687, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-09-04

Last updated on: 2026-09-04

Assigner: VulnCheck

Description

surya 0.22.1 screenshot server contains an unauthenticated arbitrary file read vulnerability in the /info, /page, and /process routes that accept raw file_path parameters. Attackers can read any image or PDF file on the host by supplying arbitrary file paths to Image.open or pypdfium2.PdfDocument, obtaining rendered contents as base64 and using /info as an existence oracle.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-09-04
Last Modified
2026-09-04
Generated
2026-09-04
AI Q&A
2026-09-04
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 2 associated CPEs
Vendor Product Version / Range
datalab surya 0.22.1
surya screenshot_server 0.22.1

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-73 The product allows user input to control or influence paths or file names that are used in filesystem operations.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability is an unauthenticated arbitrary file read flaw in surya 0.22.1's screenshot server. It affects the /info, /page, and /process routes which accept raw file_path parameters. Attackers can read any image or PDF file on the host by supplying arbitrary file paths to functions like Image.open or pypdfium2.PdfDocument. The server returns file contents as base64 and the /info route can check if arbitrary paths exist.

Detection Guidance

Check if the surya screenshot server is running on your system by inspecting network services bound to 0.0.0.0. Use commands like 'netstat -tuln | grep 0.0.0.0' or 'ss -tuln | grep 0.0.0.0' to identify listening ports. Test the vulnerable routes by sending HTTP requests to /info, /page, or /process with arbitrary file paths like '/etc/passwd' and observe if base64-encoded file contents are returned.

Impact Analysis

This vulnerability allows attackers to read sensitive files on the host system without authentication. They can exfiltrate documents, access system files like /etc/passwd, and perform reconnaissance. The server binding to all network interfaces (0.0.0.0) increases exposure, making it risky on shared or cloud hosts.

Mitigation Strategies

Immediately restrict the surya screenshot server to bind only to localhost (127.0.0.1) instead of 0.0.0.0. Apply input validation to the file_path parameter, sanitizing paths and rejecting absolute paths or traversal sequences (e.g., ..). Enforce authentication for all routes and restrict file_path to an allowed directory, similar to the /upload route. Update to a patched version if available.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-85687. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart