Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2025-53887

CVE-2025-53887: Directus Information Disclosure Flaw

CVE-2025-53887 is an information disclosure vulnerability in Monospace Directus that exposes exact version numbers via unauthenticated API endpoints. This article covers technical details, affected versions, and mitigation.

Published:

CVE-2025-53887 Overview

CVE-2025-53887 is an information disclosure vulnerability in Directus, a real-time API and application dashboard for managing SQL database content. Versions from 9.0.0 up to but not including 11.9.0 expose the exact Directus version number as the OpenAPI Specification version. The /server/specs/oas endpoint returns this data without requiring authentication. Attackers can query the endpoint anonymously to fingerprint the running Directus release and identify known vulnerabilities in the core product or its shipped dependencies. The issue is tracked under [CWE-200] and was fixed in version 11.9.0.

Critical Impact

Unauthenticated attackers can retrieve the exact Directus version number, enabling targeted exploitation of version-specific vulnerabilities in the core product and its dependencies.

Affected Products

  • Monospace Directus versions 9.0.0 through 11.8.x
  • Directus deployments exposing the /server/specs/oas endpoint to untrusted networks
  • Node.js-based Directus installations across all supported platforms

Discovery Timeline

  • 2025-07-15 - CVE-2025-53887 published to NVD
  • 2026-06-17 - Last updated in NVD database

Technical Details for CVE-2025-53887

Vulnerability Analysis

Directus generates an OpenAPI Specification (OAS) document describing its REST API surface. The specification includes a version field, which is intended to describe the API schema version. In affected releases, the application populated this field with the exact Directus release version string instead of an abstract API version.

The /server/specs/oas endpoint that serves this document does not enforce authentication. Any network client that can reach the Directus instance can request the specification and parse the embedded version. Attackers use this version string to correlate the deployment against public vulnerability databases and shipped dependency manifests.

Root Cause

The root cause is an insecure default configuration combined with information exposure through generated metadata. The OpenAPI generator assigned the runtime product version to the info.version field of the specification. Because the specs endpoint is publicly reachable, this metadata leaks to unauthenticated callers. See the GitHub Security Advisory GHSA-rmjh-cf9q-pv7q for the maintainer's analysis.

Attack Vector

Exploitation requires only network access to the Directus HTTP interface. An attacker issues an unauthenticated HTTP GET request to /server/specs/oas and parses the JSON response for the info.version field. The returned value discloses the exact running version, such as 11.8.0. The attacker then cross-references public advisories and dependency lockfiles associated with that release to select an appropriate follow-on exploit. No user interaction, credentials, or elevated privileges are required. Refer to the GitHub Pull Request #25353 for the code changes that address the disclosure.

Detection Methods for CVE-2025-53887

Indicators of Compromise

  • Unauthenticated HTTP GET requests to /server/specs/oas from external or unexpected source addresses
  • Repeated reconnaissance patterns combining requests to /server/specs/oas, /server/info, and /server/ping
  • Follow-on exploitation attempts targeting known Directus or Node.js dependency CVEs matching the disclosed version

Detection Strategies

  • Enable HTTP access logging on the reverse proxy in front of Directus and alert on unauthenticated access to /server/specs/* paths
  • Correlate requests to the specs endpoint with subsequent authentication failures or exploitation attempts against the same source IP
  • Baseline expected clients of the OpenAPI endpoint and flag deviations from known integrations

Monitoring Recommendations

  • Ingest Directus and reverse proxy logs into a centralized analytics platform for retention and query
  • Alert on User-Agent strings associated with automated scanners (nuclei, httpx, generic Python or curl clients) hitting the specs endpoint
  • Monitor for outbound requests from the Directus host that follow inbound reconnaissance, indicating potential chained exploitation

How to Mitigate CVE-2025-53887

Immediate Actions Required

  • Upgrade Directus to version 11.9.0 or later, which replaces the version field with a non-sensitive value
  • Restrict network access to the Directus administrative and specs endpoints using firewall rules or reverse proxy allowlists
  • Audit historical access logs for prior requests to /server/specs/oas from untrusted networks

Patch Information

The fix is included in Directus release v11.9.0. The maintainers replaced the exposed version identifier in the OpenAPI generator. Review the GitHub commit e74f3e4 for the exact code change applied to the specs generation logic.

Workarounds

  • Block or return HTTP 401/403 for /server/specs/oas at the reverse proxy layer until the upgrade is deployed
  • Place Directus behind an authenticating gateway that requires a valid session cookie or API token for all /server/* routes
  • Restrict management interfaces to a VPN or private network segment to limit unauthenticated exposure
bash
# Example NGINX rule to block unauthenticated access to the specs endpoint
location = /server/specs/oas {
    deny all;
    return 403;
}

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.