Summary
CVE-2026-52610 is a critical arbitrary file write / directory traversal vulnerability in reportico-web, an open-source PHP-based reporting engine, affecting all versions up to and including 8.1.0. The flaw allows unauthenticated remote attackers to create or overwrite arbitrary files on the underlying filesystem, which can be leveraged to achieve remote code execution. The vulnerability carries a CVSS v3.1 base score of 9.1 (Critical).
Technical details
- Root cause: the
run.phpendpoint fails to properly sanitize thesaveTemplateparameter, allowing path traversal sequences (e.g.../../) to escape the intended template storage directory. - Trigger condition: sending a request to
run.phpwithexecute_mode=PREPAREcombined with atemplateAction=Saverequest and asaveTemplatevalue containing directory traversal characters and a target filename. - Attack vector: network-based, unauthenticated, low complexity, no user interaction required (AV:N/AC:L/PR:N/UI:N).
- Impact: an attacker can write a file (e.g., a
.phpwebshell) anywhere on the filesystem that the web server process has permission to write to, then execute it by requesting that file directly — resulting in remote code execution and full compromise of confidentiality and integrity of the application.
Affected software
- reportico-web (Reportico) versions up to and including 8.1.0
Severity
- CVSS v3.1 Base Score: 9.1 (Critical)
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Mitigation and recommended actions
- Immediate: No vendor-supplied patched version has been identified as of publication; monitor the reportico-web GitHub repository for an official fix and upgrade as soon as one is released.
- If no patch is available:
- Restrict or disable public/unauthenticated access to
run.phpand the report template save functionality, e.g. via authentication at a reverse proxy or web server layer. - Deploy a WAF rule blocking requests to
run.phpcontainingexecute_mode=PREPAREtogether with path traversal sequences (../) in thesaveTemplateparameter. - Ensure the web server process runs with least-privilege file permissions so that any successful write is confined to non-executable, non-web-accessible locations.
- Monitor logs for newly created
.phpfiles in web-accessible directories and for outbound requests invoking unexpected script names withcmd=style parameters.
- Restrict or disable public/unauthenticated access to
How IONIX identifies potentially affected assets
IONIX matches the following signals against data already collected when it crawled the asset; identifying the technology sends no request beyond that crawl.
- Loaded script URL:
/js/reportico.js - Raw response body:
class="smallbanner"> Version <a href="…reportico.org…">followed by a version number

