PHP package Voyager flaws expose to one-click RCE exploits


PHP package Voyager flaws expose to one-click RCE exploits

Pierluigi Paganini
January 30, 2025

The open-source PHP package Voyager is affected by three vulnerabilities that could be exploited to achieve one-click remote code execution on affected instances.

Voyager is a popular open-source PHP package for managing Laravel applications, offering an admin interface, BREAD operations, media, and user management.

During an ordinary scan activity, SonarSource researchers reported an arbitrary file write vulnerability in Voyager. The experts discovered additional flaws and chained them to achieve one-click remote code execution on a Voyager instance.

Below are the flaws discovered by the researchers:

  • CVE-2024-55417 – An arbitrary file write vulnerability in the “/admin/media/upload” endpoint
  • CVE-2024-55416 – A reflected cross-site scripting flaw in the “/admin/compass” endpoint
  • CVE-2024-55415 – An arbitrary file leak and deletion issue

An attacker could exploit Voyager’s media upload feature to bypass MIME type verification and execute malicious PHP code using a polyglot file. This could lead to remote code execution and, when combined with CVE-2024-55416, pose a critical threat triggered by a victim clicking a malicious link.

“When an authenticated Voyager user clicks on a malicious link, attackers can execute arbitrary code on the server. At the time of writing this blog (Voyager version 1.8.0), the vulnerabilities have not been fixed and we release this information to allow users to protect themselves under our 90-day responsible disclosure deadline.” reads the advisory published by SonarSource.

A malicious attacker could leverage Voyager’s media upload feature to upload a malicious file in a manner that bypasses MIME type verification, and make use of a Polyglot file that appears as an image or video but contains executable PHP code to trick the server into processing it as a PHP script, thereby resulting in remote code execution.

An attacker could exploit the CVE-2024-55415 flaw to stealthily steal or delete files without dropping a malicious PHP file. Due to improper input validation in the pathToLogFile function, an attacker could trick a user into clicking a malicious link, leading to arbitrary file deletion, potentially impacting server availability or enabling code execution. Additionally, the /admin/compass endpoint allows file downloads, which—when combined with a prior XSS vulnerability—could be used to exfiltrate sensitive data to an attacker-controlled server.

SonarSource reported the findings to the project maintainers multiple times via emails and Github with no reply.

The information is publicly released under a 90-day responsible disclosure policy to protect users.

Below is a video PoC exploit published by the researchers.

“At this time, no patches are available to address the vulnerabilities we’ve identified. Despite multiple attempts to contact the project maintainers via email and GitHub, we have not received a response.

In accordance with our responsible disclosure policy, we are publicly releasing the details of our findings after 90 days. We believe this allows users of Voyage to make informed decisions about their use of Voyage.” concludes the report. “We strongly advise users to carefully consider using this project in their applications and exercise caution when deciding to do so.”

Follow me on Twitter: @securityaffairs and Facebook and Mastodon

Pierluigi Paganini

(SecurityAffairs – hacking, PHP package Voyager)







Source link