/

CVE-2026-54708

Severity:

HIGH RISK

(8.8)

Path Traversal (CWE-22) in FreePBX Backup Module RCE

CVE-2026-54708

Analyzed

Vulnerability type

Category:

Path Traversal

CWE:

CWE-22, CWE-94

Impact:

Remote Code Execution

Severity:

HIGH RISK

(8.8)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

A path traversal vulnerability in the FreePBX Backup Module allows authenticated attackers with sufficient permissions or write access to backup files to place malicious PHP files in the web root. When the uploaded file is later interpreted by the web server, the attacker may execute arbitrary code on the FreePBX server.

A path traversal vulnerability in the FreePBX Backup Module allows authenticated attackers with sufficient permissions or write access to backup files to place malicious PHP files in the web root. When the uploaded file is later interpreted by the web server, the attacker may execute arbitrary code on the FreePBX server.

Affected context

The issue occurs in FreePBX backup restore functionality when archive or backup paths are not safely constrained before files are written. Risk is present when an authenticated account can access the backup module and either has sufficient permissions or can modify backup content, and when the resulting files are placed within a web-accessible directory.

The issue occurs in FreePBX backup restore functionality when archive or backup paths are not safely constrained before files are written. Risk is present when an authenticated account can access the backup module and either has sufficient permissions or can modify backup content, and when the resulting files are placed within a web-accessible directory.

Exploit preconditions

  • Attack surface: FreePBX Backup Module restore functionality
  • Required access: An authenticated account with sufficient module permissions or write access to backup files
  • Trigger point: Processing and extraction of a crafted backup or restore input
  • Why exploitation is possible: Improper path sanitization permits files to escape the intended restore directory and be written to the web root, where malicious PHP content may be executed
  • Attack surface: FreePBX Backup Module restore functionality
  • Required access: An authenticated account with sufficient module permissions or write access to backup files
  • Trigger point: Processing and extraction of a crafted backup or restore input
  • Why exploitation is possible: Improper path sanitization permits files to escape the intended restore directory and be written to the web root, where malicious PHP content may be executed

Why this happens

The vulnerability results from inadequate canonicalization and validation of file paths during backup restoration. A path supplied through restore data can resolve outside the intended destination, which maps to CWE-22: Improper Limitation of a Pathname to a Restricted Directory. When the escaped path targets a web-accessible location and allows server-side script content, the resulting file write can lead to CWE-94: Improper Control of Generation of Code, enabling arbitrary code execution.

The vulnerability results from inadequate canonicalization and validation of file paths during backup restoration. A path supplied through restore data can resolve outside the intended destination, which maps to CWE-22: Improper Limitation of a Pathname to a Restricted Directory. When the escaped path targets a web-accessible location and allows server-side script content, the resulting file write can lead to CWE-94: Improper Control of Generation of Code, enabling arbitrary code execution.

Potential impact

  • An attacker may execute arbitrary PHP or operating system code on the FreePBX server
  • The attacker could access, alter, or delete telephony and system data
  • The compromise may enable creation of persistent web-accessible backdoors
  • The attacker may use the server as a foothold for further network intrusion
  • Service availability and call-processing operations could be disrupted
  • An attacker may execute arbitrary PHP or operating system code on the FreePBX server
  • The attacker could access, alter, or delete telephony and system data
  • The compromise may enable creation of persistent web-accessible backdoors
  • The attacker may use the server as a foothold for further network intrusion
  • Service availability and call-processing operations could be disrupted

General mitigation guidance

Mitigation generally focuses on enforcing strict restore-directory boundaries and preventing untrusted backup content from becoming executable.

Common defensive patterns include:

  • Canonicalizing paths and rejecting traversal sequences before file operations
  • Verifying that resolved paths remain within an intended, non-web-accessible restore directory
  • Allowing only approved archive members and safe file types during extraction
  • Preventing uploaded or restored files from being interpreted as server-side code
  • Separating backup storage from the web root and applying least-privilege filesystem permissions
  • Restricting backup-module access to trusted administrative roles
  • Validating archive contents before extraction and treating backups as untrusted input

Mitigation generally focuses on enforcing strict restore-directory boundaries and preventing untrusted backup content from becoming executable.

Common defensive patterns include:

  • Canonicalizing paths and rejecting traversal sequences before file operations
  • Verifying that resolved paths remain within an intended, non-web-accessible restore directory
  • Allowing only approved archive members and safe file types during extraction
  • Preventing uploaded or restored files from being interpreted as server-side code
  • Separating backup storage from the web root and applying least-privilege filesystem permissions
  • Restricting backup-module access to trusted administrative roles
  • Validating archive contents before extraction and treating backups as untrusted input

How teams detect issues like this

Organizations can look for this weakness through:

  • Static analysis rules targeting archive extraction, file upload, and path-join operations
  • Code review checks for missing canonicalization and containment validation
  • Tests using normalized and non-normalized paths to verify restore-directory enforcement
  • Monitoring for unexpected PHP files or executable content appearing in web-root directories
  • File-integrity monitoring on backup and web application paths
  • Access-control reviews for accounts permitted to restore backups or modify backup files
  • Policy enforcement requiring non-executable backup storage and secure archive-handling libraries

Organizations can look for this weakness through:

  • Static analysis rules targeting archive extraction, file upload, and path-join operations
  • Code review checks for missing canonicalization and containment validation
  • Tests using normalized and non-normalized paths to verify restore-directory enforcement
  • Monitoring for unexpected PHP files or executable content appearing in web-root directories
  • File-integrity monitoring on backup and web application paths
  • Access-control reviews for accounts permitted to restore backups or modify backup files
  • Policy enforcement requiring non-executable backup storage and secure archive-handling libraries

Sources

SourceLink
github.comgithub.com/FreePBX/security-reporting/security/advisories/GHSA-5hhg-w366-g6fh

Frequently asked

questions

It can be remotely exploitable through the FreePBX management interface when the attacker has valid credentials and the required Backup Module permissions or backup-file access.

Yes. The described attack requires an authenticated account with sufficient access or write permissions to relevant backup data.

Constrain restored files to a dedicated, non-web-accessible directory using canonical path validation, allowlist archive contents, and ensure restored files cannot be executed as server-side code.

Treat backup archives as untrusted input, apply least-privilege access controls, use secure extraction routines, and monitor sensitive directories for unexpected executable files.

It can be remotely exploitable through the FreePBX management interface when the attacker has valid credentials and the required Backup Module permissions or backup-file access.

Yes. The described attack requires an authenticated account with sufficient access or write permissions to relevant backup data.

Constrain restored files to a dedicated, non-web-accessible directory using canonical path validation, allowlist archive contents, and ensure restored files cannot be executed as server-side code.

Treat backup archives as untrusted input, apply least-privilege access controls, use secure extraction routines, and monitor sensitive directories for unexpected executable files.

Find out what's already
exploitable in your codebase.