CVEReports
CVEReports

Automated vulnerability intelligence platform. Comprehensive reports for high-severity CVEs generated by AI.

Product

  • Home
  • Sitemap
  • RSS Feed

Company

  • About
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CVEReports. All rights reserved.

Made with love by Amit Schendel & Alon Barad



CVE-2025-55988

CVE-2025-55988: Path Traversal and Remote Code Execution in DreamFactory Core

Amit Schendel
Amit Schendel
Senior Security Researcher

Mar 21, 2026·6 min read·30 visits

Executive Summary (TL;DR)

Unauthenticated path traversal (CWE-22) in DreamFactory Core v1.0.3 allows remote attackers to read arbitrary files and execute code via crafted URI paths. The initial vendor patch is bypassed using nested sequences like '....//'.

DreamFactory Core v1.0.3 contains a critical directory traversal vulnerability within the RestController component. The application fails to properly sanitize the resource URI parameter before utilizing it in downstream service logic. This allows an unauthenticated attacker to bypass implemented filters using nested traversal sequences, leading to arbitrary file read and remote code execution.

Vulnerability Overview

DreamFactory Core v1.0.3 exposes a REST API interface that handles various internal and external service requests. The primary routing component for these requests is located within src/Http/Controllers/RestController.php. This controller is responsible for parsing incoming HTTP requests and dispatching them to the appropriate service handlers.

The controller extracts a resource parameter directly from the provided URI path. The application relies on this parameter to locate and invoke specific services, such as file management handlers or system scripting interpreters. Prior to the implemented fix, this input was passed to downstream functions without validation.

This architecture introduces a Path Traversal vulnerability (CWE-22). An unauthenticated remote attacker can supply directory traversal sequences within the URI. Because the application processes the path without bounding it to the intended web root, the attacker can access the underlying operating system filesystem and interact with unauthorized components.

Root Cause Analysis

The root cause of the vulnerability exists in the handleServiceRequest method. When an HTTP request is received, the method isolates the requested resource identifier from the URI. The application logic expects this identifier to map to an explicitly defined service or a specific file within a restricted service directory.

Instead of canonicalizing the requested path using filesystem-level functions, the application processes the string linearly. It appends the user-controlled resource string to the base directory path of the invoked service. If the appended string contains ../ sequences, the operating system's filesystem driver resolves these sequences by navigating upward in the directory tree.

The application lacks a strict bounding mechanism. It does not verify that the fully resolved absolute path remains a child of the intended base directory. This architectural omission allows the requested path to escape the restricted directory structure entirely.

Code Analysis and Flawed Patch

The vendor attempted to mitigate the path traversal vulnerability in commit 54354605b2ec9afe6ee96756a5a22f6f56828950. The implemented solution relies on string replacement to remove standard directory traversal patterns from the user input.

The patch introduces the following logic into src/Http/Controllers/RestController.php:

// File: src/Http/Controllers/RestController.php
if (!empty($resource)) {
    $resource = str_replace(['..'], '', $resource);
    // Downstream service execution continues
}

This mitigation is technically insufficient due to its non-recursive implementation. The str_replace function performs a single pass over the input string. When an attacker provides a nested sequence such as ....//, the function targets the inner .. characters. Upon removal, the surrounding characters collapse to form a valid ../ sequence, successfully bypassing the filter.

Furthermore, the filter operates strictly on the literal .. string. It does not account for URL-encoded variations such as %2e%2e%2f or %2e%2e%5c. It also fails to normalize path separators, meaning backslashes (\) remain valid traversal operators on Windows-based deployments. This leaves the core vulnerability entirely exploitable.

Exploitation Methodology

Exploitation of CVE-2025-55988 requires the attacker to transmit a crafted HTTP GET request to the exposed DreamFactory REST API endpoint. The attack does not require authentication or specific prerequisite configurations. The payload is embedded directly within the URI path.

The attacker constructs the payload using the nested sequence technique to bypass the single-pass str_replace filter. A sequence of ....// is interpreted by the server filter, which removes the internal dots, resulting in ../. The attacker repeats this sequence sufficiently to navigate to the root directory of the host file system.

The following Nuclei template demonstrates the exploit structure used to verify arbitrary file read capabilities. It targets standard operating system files on both Unix and Windows environments to confirm traversal execution:

id: CVE-2025-55988-Detection
info:
  name: DreamFactory Core v1.0.3 RCE via Path Traversal
  severity: critical
requests:
  - method: GET
    path:
      - "{{BaseURL}}/api/v2/system/....//....//....//etc/passwd"
      - "{{BaseURL}}/api/v2/system/....//....//....//windows/win.ini"
    matchers:
      - type: regex
        regex:
          - "root:.*:0:0:"
          - "\\[extensions\\]"

To escalate this arbitrary file read to remote code execution, the attacker targets writable configuration files, log directories, or exposed script services. By overwriting a critical application configuration file or invoking an internal scripting engine with a malicious payload, the attacker forces the application to execute arbitrary commands.

Impact Assessment

The exploitation of CVE-2025-55988 results in a critical compromise of the host system. The vulnerability fundamentally breaks the security boundary between the web application context and the underlying operating system. The initial impact is total loss of confidentiality regarding files accessible to the web server process.

Attackers utilize the file read capability to extract sensitive information, including environment variables, database credentials, cryptographic keys, and user session tokens. This data facilitates horizontal movement across the network and direct access to connected backend infrastructure.

The integrity and availability of the system are compromised when the vulnerability is escalated to remote code execution. Attackers achieve execution privileges equivalent to the user account running the web server. From this position, they can alter application logic, deploy persistent backdoors, or pivot to internal network segments.

The vulnerability maps directly to multiple MITRE ATT&CK tactics, including Exploitation of Remote Services (T1210) and Command and Scripting Interpreter execution (T1059.003, T1059.004). While not currently listed in the CISA Known Exploited Vulnerabilities catalog, public disclosure of the exploit mechanics increases the likelihood of widespread scanning and exploitation.

Remediation and Mitigation

Administrators must upgrade DreamFactory Core to a secure release version exceeding 1.0.3. The official patch must implement strict path canonicalization rather than pattern blocklisting. Secure path resolution requires the application to resolve all symbolic links and relative references before performing boundary checks.

Developers must utilize native filesystem functions such as realpath() to generate the absolute path of the requested resource. Following canonicalization, the application must verify that the resulting path begins explicitly with the intended base directory using a strict string prefix comparison (strpos($resolvedPath, $basePath) === 0).

Organizations unable to apply immediate updates should deploy Web Application Firewall (WAF) rules to inspect incoming URI paths. The WAF must be configured to block requests containing nested traversal sequences (....//), double URL encoding (%252e%252e%252f), and anomalous backslash characters in path segments.

System administrators must enforce the principle of least privilege for the web server service account. Restricting filesystem read and write permissions to only strictly necessary application directories limits the operational impact of a successful directory traversal attack.

Fix Analysis (1)

Technical Appendix

CVSS Score
9.8/ 10
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Affected Systems

DreamFactory Core v1.0.3

Affected Versions Detail

Product
Affected Versions
Fixed Version
DreamFactory Core
DreamFactory
<= 1.0.3-
AttributeDetail
CWE IDCWE-22
Attack VectorNetwork
CVSS SeverityCritical
ImpactRemote Code Execution
Exploit StatusProof-of-Concept Available
CISA KEVNot Listed

MITRE ATT&CK Mapping

T1059.003Command and Scripting Interpreter: Windows Command Shell
Execution
T1059.004Command and Scripting Interpreter: Unix Shell
Execution
T1083File and Directory Discovery
Discovery
T1210Exploitation of Remote Services
Lateral Movement
CWE-22
Path Traversal

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

Vulnerability Timeline

Initial flawed fix commit pushed to GitHub by developer.
2024-09-02
CVE-2025-55988 officially published to NVD and CVE.org.
2025-03-20
Public disclosure of technical advisory PTT-2025-001 by Pentest-Tools.
2025-03-20

References & Sources

  • [1]CVE-2025-55988 Record
  • [2]Official Fix Commit
  • [3]Technical Advisory PTT-2025-001

Attack Flow Diagram

Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.

More Reports

•15 minutes ago•CVE-2026-59992
5.4

CVE-2026-59992: Broken Access Control and Path Traversal in Tina CMS Production Media Adapters

CVE-2026-59992 is a critical broken access control vulnerability in the first-party production media adapters of Tina CMS, including next-tinacms-s3, next-tinacms-dos, next-tinacms-azure, and next-tinacms-cloudinary. The issue allows authenticated editors to escape the configured mediaRoot directory containment, facilitating unauthorized file uploads, modifications, and deletions across the entire storage bucket or container.

Amit Schendel
Amit Schendel
0 views•6 min read
•about 1 hour ago•CVE-2026-63123
6.5

CVE-2026-63123: Cross-Site Request Forgery leading to Cross-Origin Arbitrary File Write in @tinacms/cli

A Cross-Site Request Forgery (CSRF) vulnerability in the local development server of @tinacms/cli allowed malicious cross-origin pages to send state-changing HTTP requests. This issue permitted attackers to write arbitrary files into a developer's project directory or manipulate search and GraphQL indices without authorization.

Amit Schendel
Amit Schendel
4 views•4 min read
•about 2 hours ago•CVE-2026-63188
8.7

CVE-2026-63188: Unauthenticated Directory Traversal in @logto/tunnel

A high-severity path traversal vulnerability exists in the @logto/tunnel npm package (part of the Logto repository) prior to version 0.3.9. Remote unauthenticated attackers can exploit this vulnerability to read arbitrary local files by sending crafted HTTP requests with directory traversal sequences when the static file proxy is active.

Alon Barad
Alon Barad
3 views•7 min read
•about 9 hours ago•CVE-2026-54347
8.7

CVE-2026-54347: Stored Cross-Site Scripting in Froxlor DNS TXT Record Configuration

A critical stored Cross-Site Scripting (XSS) vulnerability was identified in Froxlor server administration software panel before version 2.3.8. Authenticated customers with DNS editor privileges can inject malicious JavaScript into DNS TXT records. Because the application processes these values via a raw formatting callback without context-aware HTML entity encoding, the payload executes in the security context of administrative users who view the affected domain's DNS zones.

Amit Schendel
Amit Schendel
3 views•6 min read
•about 10 hours ago•CVE-2026-54348
7.2

CVE-2026-54348: Second-Order SQL Injection in Froxlor API Layer

An authenticated administrator with privileges to manage admin accounts (such as change_serversettings) can execute arbitrary SQL commands via a second-order SQL injection vulnerability. The flaw resides in Froxlor's administrative API endpoints, specifically during the handling of IP address mapping parameters which are stored as serialized arrays and later interpolated without sanitization into active database queries. This vulnerability allows high-privileged administrative attackers to compromise the database. By injecting a payload into administrative profile metadata, an attacker can extract sensitive credentials, manipulate backend settings, or potentially disrupt database integrity. The vulnerability affects all versions of Froxlor prior to 2.3.8.

Amit Schendel
Amit Schendel
4 views•6 min read
•about 11 hours ago•CVE-2026-54543
5.4

CVE-2026-54543: DNS Resource Record (RR) Injection in Froxlor DomainZones API

CVE-2026-54543 is a DNS Resource Record (RR) Injection vulnerability in Froxlor, an open-source server administration control panel. Prior to version 2.3.8, the DomainZones.add API command failed to perform strict sanitization and validation on the user-controlled record (label) and type parameters before serializing them into BIND-compatible zone files. An authenticated customer with DNS zone management permissions can inject control characters, breaking out of the original record context to define unauthorized resource records within managed zones.

Amit Schendel
Amit Schendel
4 views•7 min read