Feathers has a NoSQL Injection via WebSocket id Parameter in MongoDB Adapter
Critical severity
GitHub Reviewed
Published
Mar 10, 2026
in
feathersjs/feathers
•
Updated Mar 10, 2026
Description
Published by the National Vulnerability Database
Mar 10, 2026
Published to the GitHub Advisory Database
Mar 10, 2026
Reviewed
Mar 10, 2026
Last updated
Mar 10, 2026
Socket.IO clients can send arbitrary JavaScript objects as the id argument to any service method (get, patch, update, remove). The transport layer performs no type checking on this argument. When the service uses the MongoDB adapter, these objects pass through getObjectId() and land directly in the MongoDB query as operators. Sending {$ne: null} as the id matches every document in the collection.
References