---
id: CVE-2026-85687
title: >-
  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
summary: >-
  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…
severity: high
cvss: 7.5
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N'
cwe:
  - CWE-73
published: '2026-09-04'
updated: '2026-09-10'
sourceUpdated: '2026-09-10T15:53:23.707'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-85687'
references:
  - url: 'https://github.com/datalab-to/surya'
    label: disclosure@vulncheck.com
  - url: >-
      https://github.com/datalab-to/surya/blob/v0.22.1/surya/scripts/screenshot_app.py
    label: disclosure@vulncheck.com
  - url: 'https://github.com/datalab-to/surya/issues/518'
    label: disclosure@vulncheck.com
  - url: >-
      https://www.vulncheck.com/advisories/surya-0.22.1-unauthenticated-arbitrary-file-read-via-screenshot-server
    label: disclosure@vulncheck.com
tags:
  - nvd
epss: 0.00508
epssPercentile: 0.40912
ingestedAt: '2026-09-10T16:57:28.706Z'
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
