The file metadata endpoint (GET /files/:appId/metadata/:filename) does not enforce beforeFind / afterFind file triggers. When these triggers are used as access-control gates, the metadata endpoint bypasses them entirely, allowing unauthorized access to file metadata.
This affects any deployment that relies on Parse.Cloud.beforeFind(Parse.File, ...) to restrict file access. Only file metadata (user-defined key-value pairs set via addMetadata) is exposed; file content remains protected.
The metadata handler now runs beforeFind and afterFind triggers and returns HTTP 403 when a trigger denies access.
Disable the metadata endpoint by overriding the route with a middleware that rejects all requests:
// Add before mounting Parse Server
app.get('/parse/files/:appId/metadata/:filename', (req, res) => {
res.status(403).json({ error: 'Forbidden' });
});
Adjust the path prefix (/parse) to match your mountPath.
{
"cwe_ids": [
"CWE-862"
],
"github_reviewed": true,
"github_reviewed_at": "2026-03-09T17:42:03Z",
"nvd_published_at": "2026-03-07T17:15:52Z",
"severity": "MODERATE"
}