Live Exposure Defense: From CVE to Confirmed Exposure in 12 Hours – See more

New CVE Detected

CVE-2026-85687 – Unauthenticated Arbitrary File Read – Surya Screenshot Server ≤0.22.1

Be the first to know when new zero-days emerge:

Summary

CVE-2026-85687 is an unauthenticated arbitrary file read vulnerability (CWE-73: External Control of File Name or Path) affecting the screenshot server component of Surya (PyPI package surya-ocr), an open-source OCR/document layout analysis tool maintained by datalab-to. The flaw allows any network-based attacker to retrieve image and PDF files from the host filesystem without authentication. The issue carries a CVSS v4.0 base score of 8.7 (High) / CVSS v3.1 base score of 7.5 (High).

Technical details

  • Root cause: The Flask-based screenshot server accepts a user-supplied file_path parameter and passes it, without validation or sanitization, directly into internal file-processing helper functions (_page_count() and _render_page()). No containment or workspace restriction is applied to the supplied path.
  • Trigger conditions: The server listens on 0.0.0.0:8504 by default with no authentication decorator on any route, meaning it is reachable from the network without credentials whenever exposed.
  • Attack vector: Remote/network — an attacker sends crafted requests to the /info, /page, or /process endpoints, supplying an arbitrary file path instead of an expected in-workspace file reference.
  • Impact: Unauthenticated disclosure of arbitrary image and PDF files on the host, including files outside the intended workspace directory; the /info endpoint can also be used to enumerate whether specific file paths exist on the system, aiding further reconnaissance. There is no reported impact to integrity or availability — the vulnerability is limited to confidentiality (file read).

Affected software

  • Product: Surya screenshot server (PyPI package surya-ocr), vendor datalab-to
  • Affected versions: All versions through 0.22.1 (0 – 0.22.1)

Severity

  • CVSS v3.1: 7.5 (High) — CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
  • CVSS v4.0: 8.7 (High) — 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

Mitigation and recommended actions

  • Immediate: As of publication, no fixed release has been assigned in the upstream tracking issue; monitor the datalab-to/surya repository for a patched release and upgrade as soon as one is available.
  • Workarounds / network mitigations (until patched):
    • Do not expose the Surya screenshot server (default port 8504) directly to untrusted networks or the public internet; bind it to localhost/127.0.0.1 instead of 0.0.0.0.
    • Place the service behind an authenticating reverse proxy or VPN, since the application itself performs no authentication on the /info, /page, or /process routes.
    • Restrict the file paths accessible to the service (e.g., via filesystem permissions, containerization, or a chroot/jail) so that even if file_path is manipulated, no sensitive files outside the intended workspace can be reached.
    • Monitor logs for requests to /info, /page, and /process containing path traversal sequences (../) or absolute paths outside the expected document directory.

References

Are you exposed?

Get a free report of your organization’s exposure to this CVE and threat

How IONIX’s External Exposure Management Platform Detects and Validates
Zero-Days to Shrink MTTR

1

Map your entire attack surface (continously)

IONIX uses multi-factor discovery methods, including DNS analysis, certificate mapping, metadata inspection, and more, to automatically map every internet-facing asset across your environment. This includes cloud instances, third-party platforms, shadow IT, and even forgotten infrastructure that traditional tools miss.

2

Monitor for new CVEs

Dozens of threat intel feeds using agentic technology are continuously analyzed to detect the appearance of proof-of-concept code, exploit kits, and indicators of active targeting. IONIX goes further by applying AI to proactively evaluate whether emerging vulnerabilities are likely to be exploited, even before PoCs go public.

3

Identify Potential External Exposures

Not all CVEs matter. IONIX filters vulnerabilities by asking attacker-centric questions: Can it be reached from the internet? Does it require authentication? Is it being exploited in the wild? This dramatically reduces noise and focuses teams on threats that can actually be weaponized.

4

Create Safe, Scalable Exploit Validations

IONIX transforms real-world PoCs into safe, non-intrusive test payloads that can be run in production environments without disruption. These simulations are precisely targeted to the systems that are vulnerable, ensuring rapid validation without unnecessary load.

5

Execute Exploit Validations

By combining context about software stack, versioning, exposure status, and reachability, IONIX ensures that only the right payloads are executed against the right assets, maximizing efficiency and minimizing risk.

6

Drive Fast and Actionable Remediation

Results are routed through integrations with ticketing, SOAR, and SIEM tools. Issues are written in plain language, bundled into remediation clusters, and prioritized based on asset criticality, exploitability, and blast radius. This shortens mean time to remediation (MTTR) and empowers teams to act with confidence.

Are you exposed?

Get a free report of your organization’s exposure to this CVE and threat

Subscribe to Threat Center RSS

Copy/paste the link below into your preferred RSS reader or follow these instructions to subscribe to Slack alerts.

Get Real-Time CVE Alerts to Your Email

Be the first to know when new zero-days emerge