Prototype pollution in Directus - #VU158872
Published: November 3, 2026
Vulnerability details
The vulnerability allows a remote user to cause a persistent denial of service by polluting the shared object prototype, causing logins and most reads to fail with database errors.
The vulnerability exists due to improperly controlled modification of object prototype attributes in the Directus CSV importer's setDeep helper when processing nested CSV headers and JSON-parsed cell values. A remote user can import a CSV into a collection on which they have create and update permissions, using the headers a,a.__proto__.polluted with corresponding cell values {},"yes" to set Object.prototype.polluted to 'yes'. Subsequent object-form database queries enumerate this inherited property and reference a nonexistent column, causing a persistent denial of service.