CVE-2026-78381

RansomLook contains a path traversal vulnerability in the handling of the screen field associated with group posts. The GroupPost.get API handler concatenates the database-controlled screen value directly with the application's source/ directory and opens the resulting path without verifying that the resolved file remains within the intended directory. Because the screen field is free-form and can be populated either through the administrative post editor or through data imported from a remote RansomLook instance, a malicious upstream instance can provide traversal sequences such as ../config/generic.json. When the affected post is subsequently retrieved through the API, RansomLook resolves and reads the attacker-controlled path and returns the contents of the referenced file Base64-encoded in the API response. This can allow an attacker (being admin) controlling imported post data to read arbitrary files accessible to the RansomLook process, potentially exposing sensitive configuration data, API credentials, password hashes, or other application secrets. The attack does not require the malicious upstream to possess an account on the affected RansomLook instance. The vulnerability is addressed by resolving screen paths with os.path.realpath() and verifying that the resolved path remains beneath the application's source/ directory. Validation is performed both when values are written and immediately before files are read. Using canonical paths also prevents traversal through symbolic links that would bypass purely lexical path normalization checks.
CVSS

No CVSS.

Configurations

No configuration.

History

14 Oct 2026, 13:10

Type Values Removed Values Added
Summary
  • (es) RansomLook contiene una vulnerabilidad de salto de ruta en el manejo del campo screen asociado con las publicaciones de grupo. El gestor de la API GroupPost.get concatena el valor screen controlado por la base de datos directamente con el directorio source/ de la aplicación y abre la ruta resultante sin verificar que el archivo resuelto permanezca dentro del directorio previsto. Debido a que el campo screen es de formato libre y puede ser rellenado ya sea a través del editor de publicaciones administrativo o a través de datos importados de una instancia remota de RansomLook, una instancia ascendente maliciosa puede proporcionar secuencias de salto de ruta como ../config/generic.json. Cuando la publicación afectada es recuperada posteriormente a través de la API, RansomLook resuelve y lee la ruta controlada por el atacante y devuelve el contenido del archivo referenciado codificado en Base64 en la respuesta de la API. Esto puede permitir a un atacante (siendo administrador) que controla los datos de publicaciones importados leer archivos arbitrarios accesibles al proceso de RansomLook, exponiendo potencialmente datos de configuración sensibles, credenciales de API, hashes de contraseñas u otros secretos de la aplicación. El ataque no requiere que el origen malicioso posea una cuenta en la instancia de RansomLook afectada. La vulnerabilidad se aborda resolviendo las rutas screen con os.path.realpath() y verificando que la ruta resuelta permanezca debajo del directorio source/ de la aplicación. La validación se realiza tanto cuando se escriben los valores como inmediatamente antes de que se lean los archivos. El uso de rutas canónicas también previene el salto de ruta a través de enlaces simbólicos que eludirían las comprobaciones de normalización de rutas puramente léxicas.

Information

Published : 2026-08-24 14:17

Updated : 2026-10-14 13:10


NVD link : CVE-2026-78381

Mitre link : CVE-2026-78381

CVE.ORG link : CVE-2026-78381


JSON object : View

Products Affected

No product.

CWE
CWE-22

Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')