☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]

CVE-2025-48479

CVE-2025-48479 Path Traversal in Freescout
📅 PUBLISHED: 2025-05-30 04:34 UTC 🔄 UPDATED: 2026-10-11 17:46 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.32%
👁️
0.32% probability
7.9× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
8.5
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-48479 is a path traversal vulnerability in the laravel-translation-manager package used by FreeScout, a self-hosted help desk and shared mailbox application. Prior to version 1.8.180, the package fails to properly validate user input, allowing an authenticated attacker with sufficient access rights to delete arbitrary directories on the server. This can lead to denial of service, data loss, or further system compromise. The vulnerability has been patched in FreeScout version 1.8.180.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

This vulnerability originates from the laravel-translation-manager package, a third-party dependency within the FreeScout ecosystem. The package is not directly managed by FreeScout but is integrated into the application. This highlights the risk of supply chain vulnerabilities where a flaw in a dependency can compromise the entire application. Organizations using FreeScout should ensure that all dependencies are regularly updated and monitored for security advisories.

CVSS Breakdown & Threat Level

The CVSS score is currently listed as 0.0, indicating that a full vector has not been assigned. However, based on the vulnerability description, a reasonable assessment would be:

  • Attack Vector (AV): Network (N) – The vulnerability is exploitable over the network.
  • Attack Complexity (AC): Low (L) – No special conditions are required.
  • Privileges Required (PR): High (H) – The attacker needs sufficient access rights (e.g., admin or translation manager role).
  • User Interaction (UI): None (N) – No user interaction is required.
  • Scope (S): Unchanged (U) – The vulnerability affects only the vulnerable component.
  • Confidentiality (C): None (N) – No direct data exposure.
  • Integrity (I): High (H) – Arbitrary directory deletion can corrupt data.
  • Availability (A): High (H) – Deletion of critical directories can cause denial of service.

Estimated CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:H Estimated Base Score: 6.5 (Medium)

Threat Level: Medium. The vulnerability requires high privileges but can cause significant damage.

Deep Dive & Mechanics

The vulnerability resides in the laravel-translation-manager package, which is used to manage language translations within FreeScout. The package likely provides an interface to delete translation files or directories. Due to insufficient input validation, an attacker can manipulate the path parameter to traverse outside the intended translation directory and delete arbitrary directories on the filesystem.

Root Cause: The application does not sanitize or validate the user-supplied path before passing it to filesystem operations like rmdir() or unlink(). This allows path traversal sequences (e.g., ../) to escape the intended directory.

Attack Flow:

  1. An attacker with high privileges (e.g., admin or translation manager) logs into FreeScout.
  2. The attacker accesses the translation management interface.
  3. The attacker crafts a malicious request to delete a directory, using path traversal to target a sensitive location (e.g., /var/www/html/storage or /etc).
  4. The server executes the deletion, causing data loss or service disruption.

Vulnerable vs. Patched Code

Vulnerable Code (Conceptual):

// In laravel-translation-manager
public function deleteDirectory($path)
{
    // No validation of $path
    File::deleteDirectory($path);
}

Patched Code (Conceptual):

// In laravel-translation-manager (patched)
public function deleteDirectory($path)
{
    // Validate that the path is within the allowed translation directory
    $allowedPath = base_path('resources/lang');
    $realPath = realpath($path);
    $allowedRealPath = realpath($allowedPath);
    
    if (strpos($realPath, $allowedRealPath) !== 0) {
        throw new \Exception('Invalid path');
    }
    
    File::deleteDirectory($path);
}

The patched version ensures that the resolved path starts with the allowed base directory, preventing path traversal.

Exploitation & Lab Setup

Red Team

Prerequisites:

  • Access to a FreeScout instance (version < 1.8.180) with admin or translation manager credentials.
  • Knowledge of the target filesystem structure.

Exploitation Steps:

  1. Log in to FreeScout as an admin.
  2. Navigate to the translation management section (e.g., /translations).
  3. Intercept the delete request using a proxy like Burp Suite.
  4. Modify the path parameter to traverse to a target directory. For example:
    • Original: path=resources/lang/en
    • Modified: path=../../storage/logs
  5. Send the request. The server will delete the storage/logs directory.

Example Request (cURL):

curl -X POST 'https://target.freescout.com/translations/delete' \
  -H 'Cookie: session=...' \
  -d 'path=../../storage/logs'

Impact: Deletion of critical directories can cause application errors, data loss, or complete denial of service.

Blue Team

Detection:

  • Monitor for unusual directory deletion requests in web server logs.
  • Look for path traversal patterns (e.g., ../) in POST parameters.
  • Alert on high-privilege users performing bulk deletions.

Prevention:

  • Apply the patch by upgrading to FreeScout version 1.8.180 or later.
  • Implement strict input validation and path sanitization.
  • Use a Web Application Firewall (WAF) to block path traversal attempts.
  • Restrict high-privilege accounts to only necessary actions.

Indicators of Compromise (IOCs)

  • File System Changes: Unexpected deletion of directories outside the translation path (e.g., /var/www/html/storage, /tmp).
  • Web Server Logs: POST requests to /translations/delete or similar endpoints with path parameters containing ../.
  • Application Logs: Errors related to missing directories or files after deletion.
  • Network Traffic: Unusual requests from admin accounts to translation management endpoints.

Detection Engineering

YARA Rule

rule CVE_2025_48479_Path_Traversal {
    meta:
        description = "Detects path traversal attempts targeting FreeScout translation manager"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-48479"
    strings:
        $path_traversal = /path=([^&]*\.\.\/[^&]*)/
        $delete_endpoint = /\/translations\/delete/
    condition:
        $delete_endpoint and $path_traversal
}

Sigma Rule

title: FreeScout Translation Manager Path Traversal
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects path traversal attempts in FreeScout translation manager
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: 'POST'
        cs-uri-query|contains: '/translations/delete'
        cs-uri-query|re: 'path=.*\.\.\/'
    condition: selection
falsepositives:
    - Legitimate use of path traversal in other contexts (unlikely)
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (
    msg:"CVE-2025-48479 FreeScout Translation Manager Path Traversal";
    flow:to_server,established;
    content:"POST"; http_method;
    content:"/translations/delete"; http_uri;
    pcre:"/path=[^&]*\.\.\//Pi";
    classtype:attempted-admin;
    sid:1000001;
    rev:1;
)

Remediation & Mitigation

Immediate Actions:

  1. Upgrade FreeScout to version 1.8.180 or later, which includes the patch for the laravel-translation-manager package.
  2. Restrict Access: Limit the number of users with admin or translation manager privileges.
  3. Monitor Logs: Review web server and application logs for signs of exploitation.

Long-Term Measures:

  • Implement a Web Application Firewall (WAF) with rules to block path traversal.
  • Conduct regular security audits of third-party dependencies.
  • Enforce the principle of least privilege for all user roles.
  • Use file integrity monitoring (FIM) to detect unauthorized deletions.

Patch Verification:

  • After upgrading, verify that the laravel-translation-manager package is updated.
  • Check that path validation is in place by attempting to delete a directory outside the translation path (in a test environment).

Valters IT
Securing Digital Frontiers

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-48479/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.