ZeroHour

CVE-2026-85687

niche

Unauthenticated Arbitrary File Read in Datalab Surya Screenshot Server

CVSS 4.0
8.7 high
EPSS
<1%p22
Published
()
Modified
AI analysis

Surya 0.22.1, an open-source OCR/document-processing toolkit, ships a screenshot server whose /info, /page, and /process routes accept raw file_path parameters without validation (CWE-73). A remote, unauthenticated attacker can supply an arbitrary filesystem path, which the server opens with PIL's Image.open or pypdfium2's PdfDocument; the /page and /process routes return the rendered file contents base64-encoded, while /info leaks whether a given path exists, serving as an existence oracle. This lets an attacker read any image or PDF file on the host (confidentiality impact rated high in the 8.7 CVSS 4.0 score, with no integrity or availability impact). Anyone running the surya screenshot server at version 0.22.1 is affected, with the greatest risk where the server is reachable by untrusted clients rather than bound only to localhost. No public proof-of-concept is known, the issue is not in CISA KEV, and EPSS puts 30-day exploitation probability at just 0.3%, so no exploitation is currently known.

What to do: Upgrade surya to a patched release as published by the project (no fixed version is specified in the advisory); until then, restrict the screenshot server to trusted networks or localhost, firewall it from unauthenticated access, and validate or constrain file_path inputs. Check server logs for requests to /info, /page, or /process carrying absolute or unusual file paths, which would indicate probing for arbitrary file reads.

Affected
Datalab surya (screenshot server)0.22.1
Estimated exposure
nichelikely only hundreds to low thousands of deployments worldwide; no public install counts — Surya is a niche open-source OCR library and the screenshot server is an optional component that must be deliberately deployed and exposed, and no public scan or install-count data exists, so the affected population is estimated to be…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

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.

Weakness
CWE-73
Vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/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

In the news

No ingested article mentions this CVE yet.