CVE-2026-39943: 
JavaScript vulnerability analysis and mitigation

Overview

CVE-2026-39943 is an information disclosure vulnerability in Directus, a real-time API and App dashboard for managing SQL database content. Due to the revision snapshot code not consistently invoking the prepareDelta sanitization pipeline, sensitive fields are stored in plaintext within the directus_revisions table whenever items are created or updated. All Directus (npm package) versions prior to 11.17.0 are affected. The vulnerability was published on April 9, 2026, and carries a CVSS v3.1 base score of 6.5 (Medium) (GitHub Advisory, Red Hat CVE).

Technical details

The root cause is classified under CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor) and CWE-312 (Cleartext Storage of Sensitive Information). Two specific code paths are affected: (1) during item create/update operations, the data (snapshot) field written to directus_revisions bypassed the prepareDelta sanitization pipeline, causing concealed/encrypted fields to be stored without redaction; (2) in the authentication service, when a user was auto-suspended after repeated failed login attempts, the revision record was created using the raw user object rather than a sanitized delta. Sensitive fields exposed include token, tfa_secret, external_identifier, auth_data, credentials, ai_openai_api_key, ai_anthropic_api_key, ai_google_api_key, and ai_openai_compatible_api_key. Exploitation requires only low-privilege network access with read permissions to directus_revisions or flow logs (GitHub Advisory).

Impact

An authenticated attacker with low privileges and read access to directus_revisions or flow logs can retrieve plaintext sensitive data, including user authentication tokens, two-factor authentication secrets, external authentication identifiers, stored credentials, and third-party AI provider API keys. This exposure can lead to full account takeover via stolen tokens or 2FA secrets, bypass of multi-factor authentication, and unauthorized use of third-party API keys (e.g., OpenAI, Anthropic, Google). There is no integrity or availability impact, but the confidentiality impact is rated High (GitHub Advisory).

Exploitability

There is no public proof-of-concept exploit and no evidence of in-the-wild exploitation at this time (GitHub Advisory). The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. The EPSS score is approximately 0.043%, indicating a low probability of exploitation in the near term (Red Hat CVE). Exploitation requires a valid low-privilege account, making mass exploitation less likely but insider threats or compromised accounts a realistic concern.

Exploitation steps

  1. Obtain low-privilege access: Authenticate to the target Directus instance using any valid user account or service account with read access to the directus_revisions collection or flow logs.
  2. Query revision records: Use the Directus API or admin panel to query the directus_revisions table (e.g., GET /revisions?fields=data,delta or via the Items API for the directus_revisions system collection).
  3. Extract sensitive fields: Parse the data (snapshot) field in returned revision records for plaintext values of sensitive fields such as token, tfa_secret, auth_data, credentials, ai_openai_api_key, ai_anthropic_api_key, ai_google_api_key, and ai_openai_compatible_api_key.
  4. Leverage extracted credentials: Use stolen user tokens to impersonate accounts, use 2FA secrets to bypass multi-factor authentication, or use extracted API keys to make unauthorized calls to third-party AI services (GitHub Advisory).

Indicators of compromise

  • Logs: Unusual or repeated API requests to /revisions or system collection endpoints (e.g., GET /items/directus_revisions) from low-privilege accounts, particularly querying the data or delta fields.
  • Logs: Access log entries showing bulk reads of directus_revisions by non-administrative users or service accounts.
  • Network: Outbound API calls to OpenAI, Anthropic, or Google AI services originating from unexpected sources, potentially indicating stolen API key usage.
  • Application: Unexpected authentication events or account activity using tokens extracted from revision history, especially from unfamiliar IP addresses or user agents.

Mitigation and workarounds

Upgrade Directus to version 11.17.0 or later, which includes the fix for revisions not using prepareDelta (PR #26867) (Directus v11.17.0 Release). After upgrading, review existing revision records in directus_revisions for any previously exposed sensitive data and rotate all potentially compromised credentials, including user tokens, 2FA secrets, and AI provider API keys. As an interim measure, restrict read access to the directus_revisions table and flow logs to only necessary administrative users. Consider auditing access policies for system collections to limit exposure (GitHub Advisory).

Community reactions

The vulnerability was disclosed via a GitHub Security Advisory by Directus maintainer br41nslug on April 2, 2026, and assigned CVE-2026-39943 on April 9, 2026. No significant public researcher commentary or media coverage has been identified beyond standard CVE tracking databases (GitHub Advisory).

Additional resources


Source: This report was generated using AI

Related JavaScript vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

GHSA-966w-4vpf-p7hcHIGH7.1
  • JavaScript logoJavaScript
  • @aloma.io/aloma
NoYesOct 25, 2026
GHSA-mrwp-f3q8-3g9pMEDIUM5.9
  • JavaScript logoJavaScript
  • follow-redirects
NoYesOct 25, 2026
GHSA-hfm3-x63j-7fxpHIGHN/A
  • JavaScript logoJavaScript
  • @payload-auth-link/migrate
NoYesOct 25, 2026
GHSA-6244-vvv9-76f5MEDIUMN/A
  • JavaScript logoJavaScript
  • @payload-auth-link/plugin
NoYesOct 25, 2026
GHSA-q53q-qg98-p9jfHIGHN/A
  • JavaScript logoJavaScript
  • llm-fw
NoYesOct 25, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Additional Wiz resources

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management