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

CVE-2025-66548

CVE-2025-66548 Supply Chain Attack in Nextcloud
📅 PUBLISHED: 2025-12-05 17:26 UTC 🔄 UPDATED: 2026-09-23 20:36 UTC
[ OFFICIAL PATCH DEPLOYED ↓ ] FIX: LIKELY — 2 independent sources confirm 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.15%
👁️
0.15% probability
3.8× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
Patch available — upgrade to latest release
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
3.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-66548 is a low-severity (CVSS 3.3) spoofing vulnerability in the Nextcloud Deck application, a kanban-style project management tool. The flaw allows an attacker to manipulate file extensions displayed to users by embedding Unicode Right-to-Left Override (RTLO) characters in filenames. This causes the displayed file extension to differ from the actual file extension, tricking users into downloading and potentially executing malicious files disguised as safe documents (e.g., a .exe file appearing as .pdf). The vulnerability affects Deck versions prior to 1.12.7, 1.14.4, and 1.15.1. No public proof-of-concept or exploit code is available at this time. The EPSS score is 0.0%, indicating a very low probability of active exploitation in the wild.

⚡ 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

Nextcloud Deck is distributed as a Nextcloud app via the Nextcloud App Store and official Nextcloud server updates. The vulnerability is patched in the latest versions. Users should update their Nextcloud instance and ensure the Deck app is updated to the fixed versions. No third-party package manager (NPM, PyPI, etc.) is directly involved, but the app's codebase may include JavaScript dependencies that should be reviewed for similar RTLO handling issues.

CVSS Breakdown & Threat Level

  • CVSS Score: 3.3 (Low)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N
  • Attack Vector (AV): Network – The attack is carried out over the network.
  • Attack Complexity (AC): Low – No special conditions are required.
  • Privileges Required (PR): None – The attacker does not need authentication.
  • User Interaction (UI): Required – The victim must download and open the file.
  • Scope (S): Unchanged – The impact is confined to the vulnerable component.
  • Confidentiality (C): None – No data is exposed.
  • Integrity (I): Low – The attacker can spoof the file extension, potentially leading to execution of a malicious file.
  • Availability (A): None – No denial of service.

Threat Level: Low. The vulnerability requires user interaction and does not directly lead to code execution. However, it can be chained with social engineering to deliver malware.

Deep Dive & Mechanics

The vulnerability resides in how Nextcloud Deck handles file names when displaying them to users. The application does not sanitize or neutralize Unicode control characters, specifically the Right-to-Left Override (U+202E) character. This character forces the text that follows to be displayed from right to left.

Attack Scenario:

  1. An attacker uploads a file to a Deck board with a name like: document.pdf[U+202E]txt.exe
  2. Due to the RTLO character, the file name is displayed as: document.exe.txt (the .exe part is rendered as .txt because the RTLO reverses the order).
  3. The actual file extension is .exe, but the user sees .txt or .pdf depending on the crafted name.
  4. When the user downloads and opens the file, they execute the malicious .exe file.

Root Cause: Lack of input validation and sanitization for Unicode control characters in file names. The application should either strip or escape RTLO and other bidirectional override characters.

Vulnerable vs. Patched Code

Vulnerable Code (Conceptual):

// In file upload handler, no sanitization of filename
$filename = $_FILES['file']['name'];
// Store filename as-is
$file->setName($filename);

Patched Code (Conceptual):

// Sanitize filename by removing RTLO characters
$filename = preg_replace('/[\x{202A}-\x{202E}]/u', '', $_FILES['file']['name']);
$file->setName($filename);

The patch removes all Unicode bidirectional override characters (U+202A to U+202E) from the filename before storage and display.

Exploitation & Lab Setup

Red Team (Offensive)

Prerequisites:

  • A Nextcloud instance with Deck app version < 1.12.7, < 1.14.4, or < 1.15.1.
  • An account with permission to upload files to a Deck board.

Steps:

  1. Create a malicious executable (e.g., payload.exe).
  2. Rename it to: important_document.pdf%E2%80%AEtxt.exe (URL-encoded RTLO character).
  3. Upload the file to a Deck board.
  4. The file will appear as important_document.exe.txt to other users.
  5. Social engineer a user to download and open the file.

Note: No public exploit code is available. This is a conceptual demonstration.

Blue Team (Defensive)

Detection:

  • Monitor file uploads for filenames containing Unicode control characters (U+202A-U+202E).
  • Alert on filenames with suspicious patterns like [safe_ext][RTLO][malicious_ext].
  • Use YARA rules to scan file names in transit and at rest.

Prevention:

  • Apply the patch immediately.
  • Implement input validation to strip or reject filenames with bidirectional override characters.
  • Educate users about the risks of downloading files from untrusted sources.

Indicators of Compromise (IOCs)

  • File Names: Any filename containing Unicode characters U+202A, U+202B, U+202C, U+202D, or U+202E.
  • Network Traffic: HTTP requests to Nextcloud with filenames containing %E2%80%AE (URL-encoded RTLO) or similar.
  • Logs: Nextcloud audit logs showing file uploads with suspicious filenames.

Detection Engineering

YARA Rule

rule Detect_RTLO_Filename_Spoofing {
    meta:
        description = "Detects filenames containing Right-to-Left Override (RTLO) characters used for spoofing"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-66548"
    strings:
        $rtlo = { E2 80 AE }  // UTF-8 encoding of U+202E
        $rtlo2 = { E2 80 AB } // UTF-8 encoding of U+202B
        $rtlo3 = { E2 80 AA } // UTF-8 encoding of U+202A
    condition:
        any of them
}

Sigma Rule

title: Nextcloud Deck RTLO Filename Spoofing
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects file uploads with RTLO characters in Nextcloud Deck
author: Valters IT
date: 2025-04-10
logsource:
    product: nextcloud
    service: audit
detection:
    selection:
        EventID: 'file_created'
        FileName|contains: 
            - '%E2%80%AE'
            - '%E2%80%AB'
            - '%E2%80%AA'
    condition: selection
falsepositives:
    - Legitimate use of bidirectional text (rare)
level: medium

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-66548 Nextcloud Deck RTLO Filename Spoofing"; flow:to_server; content:"POST"; http_method; content:"/remote.php/dav/files/"; http_uri; pcre:"/%E2%80%AE|%E2%80%AB|%E2%80%AA/"; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Update Nextcloud Deck to version 1.12.7, 1.14.4, or 1.15.1 (or later).
  2. If immediate update is not possible, implement a Web Application Firewall (WAF) rule to block filenames containing %E2%80%AE, %E2%80%AB, or %E2%80%AA.

Long-term Measures:

  • Enforce filename sanitization in all file upload handlers.
  • Conduct security training for users on social engineering attacks.
  • Regularly review and update Nextcloud and its apps.

Valters IT Signature: This report was generated by Valters IT DevSecOps AI. For questions, contact security@valters-it.com.

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-66548/ · 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.