Vulnerabilities

Vulnerability · GHSA-32cw-mf7w-gpqr

Authenticated persistent Denial of Service via prototype pollution in CSV import

Published Oct 30, 2026 · catalog updated Oct 30, 2026 · Authenticated persistent Denial of

Last checked Nov 1, 2026. A connected source was read within the last 7 days.

Open the advisory

Exploitation likelihood is not on this record for GHSA-32cw-mf7w-gpqr. A missing EPSS score is not a low risk. Compare Authenticated persistent Denial of with the linked advisory before you change production.

Gaps on this record

  • The stored product name is a package slug. The name on this page is taken from the title (Authenticated persistent Denial of).
  • No vendor fix or required action is stored. Compare the linked advisory before you change production.
  • EPSS is missing. A missing score is not a low risk.
Severity
High7.1
Known exploitation
Not in CISA/VulnCheck KEV
EPSS
Awaiting synchronization with FIRST
Remediation
Version ranges on file
Affected products
npm directus

## Summary An authenticated user who can import into any collection can pollute for the whole Directus process with a single CSV import. The polluted key is then folded into the SQL of every subsequent object-form query, so logins and most reads fail with a database error. The instance stays unusable until it is restarted. This is a bypass of the fix for GHSA-gwvv-rr68-cmv6. ## Details The fix for GHSA-gwvv-rr68-cmv6 introduced a helper that builds nested paths on null-prototype objects. It was meant to reuse an existing path segment only when that segment is an own object, but it checked only . That plain read follows the prototype chain, so an inherited segment resolves to whenever the current node is an ordinary object. The CSV importer builds each row by calling once per header, and it runs each cell through first. A cell containing therefore places an ordinary, prototype-bearing object into the row. A later header that walks through it reaches the shared prototype: The first header sets . The second header walks , then , then ( ), and sets . knex builds object-form and clauses by enumerating inherited enumerable properties, so after the import every such query gains a phantom column. For example, the update that runs on every login becomes , which fails with an unknown-column error. Because the injected key also lands in the clause, affected writes fail rather than modify extra columns. ## Impact - **Persistent denial of service.** After one import request, every login and most reads fail until the process is restarted. The process itself keeps running, so health checks and supervisors do not recover it automatically. - **Low privilege.** Only an authenticated account with and permission on a single collection is required. No admin access or non-default configuration is needed. ## Credits Reported by Al Baradi Joy (@a1barad1)

Are you affected?

Enter the version you run. The result uses only the ranges stored on this record.

The check returns affected, not affected, or incomplete. It does not guess a version that is missing from the record.

  • npm directus< 12.5.0

How to fix GHSA-32cw-mf7w-gpqr

  • Upgrade

    GHSA-32cw-mf7w-gpqr lists a fix boundary at 12.5.0. Compare the installed build with that boundary before you change production.

  • Version check

    Affected < 12.5.0

  • Advisory

    Open the inventory_github record and follow its fix.

  • Official advisories

What to do

Three questions, each answered from this record only. Confirm the vendor advisory before you patch.

Should you patch?

Exploitation likelihood is not on this record for GHSA-32cw-mf7w-gpqr. A missing EPSS score is not a low risk. Compare Authenticated persistent Denial of with the linked advisory before you change production.

Which versions are affected?

Compare what you have installed with < 12.5.0. Compare the installed version with the linked vendor advisory before you change production.

What should an analyst verify?

CWE-1321: Improperly Controlled Modification of Object Prototype Attributes (Prototype Pollution). EPSS is not on this record yet. There is no CISA KEV listing. No Exploit-DB or Metasploit reference is linked. Use the source links for the original advisory.

Technology hubs

Code

The project this record applies to. Exploit listings stay in References.

Timeline

Detection, updates, and resolution for this record.

  1. Oct 30, 2026 · Maintainer security tabs

    Detected

    ## Summary An authenticated user who can import into any collection can pollute for the whole Directus process with a single CSV import. The polluted key is then folded into the SQL of every subsequent object-form query, so logins and most reads fail with a database error. The instance stays unusable until it is restarted. This is a bypass of the fix for GHSA-gwvv-rr68-cmv6. ## Details The fix for

Sources

  • Maintainer security tabsVendor advisoryGHSA-32cw-mf7w-gpqr

    ## Summary An authenticated user who can import into any collection can pollute for the whole Directus process with a single CSV import. The polluted key is then folded into the SQL of every subsequent object-form query, so logins and most reads fail with a database error. The instance stays unusable until it is restarted. This is a bypass of the fix for GHSA-gwvv-rr68-cmv6. ## Details The fix for

    github.com

Freshness

Last verified in this catalog Oct 30, 2026. Significant claims (KEV, EPSS, CVSS, affected ranges) come from the source rows above — open the original publisher for the authoritative advisory.

  • Maintainer security tabsNov 1, 2026