CVE-2026-29793
Feathersjs Feathers 5.0.0 – 5.0.42
Raw vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XSummary
CVE-2026-29793 is a critical-severity Improper Neutralization of Special Elements in Data Query Logic (CWE-943) vulnerability in Feathersjs Feathers. Its CVSS base score is 9.3 (Critical).
Operationally, exploitation aligns with the MITRE ATT&CK technique Exploit Public-Facing Application (T1190); ranked at the 38th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.
The strongest mitigations our analysis identified map to SI-10 (Information Input Validation) — see the control section below for these in your framework.
Deeper analysis AI-assisted summary
Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.
CVE-2026-29793 is a high-severity vulnerability (CVSS 9.8) in the FeathersJS framework, which is used for building web APIs and real-time applications with TypeScript or JavaScript. Affecting versions from 5.0.0 up to but not including 5.0.42, the issue arises when Socket.IO clients send arbitrary JavaScript objects as the "id" argument to service methods such as get, patch, update, or remove. The transport layer lacks type checking on this argument, allowing these objects to pass through unimpeded.
In an attack scenario, unauthenticated remote attackers can exploit this over the network with low complexity and no user interaction required. When the application uses the MongoDB adapter, the malicious "id" objects bypass getObjectId() and are injected directly into MongoDB queries as operators. For example, sending {"$ne": null} as the id matches every document in the collection, enabling attackers to read, modify, or delete all data depending on the service method invoked, resulting in high confidentiality, integrity, and availability impacts (C:H/I:H/A:H).
The FeathersJS security advisory at https://github.com/feathersjs/feathers/security/advisories/GHSA-p9xr-7p9p-gpqx details the fix in version 5.0.42, which introduces proper validation to prevent arbitrary objects from reaching the database query layer. Security practitioners should upgrade to 5.0.42 or later and review applications using Socket.IO with MongoDB adapters for exposure.
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2026-10827
Vulnerability Data
Feathersjs is a framework for creating web APIs and real-time applications with TypeScript or JavaScript. From 5.0.0 to before 5.0.42, Socket.IO clients can send arbitrary JavaScript objects as the id argument to any service method (get, patch, update, remove). The…
more
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. This vulnerability is fixed in 5.0.42.
- CWE(s)
Related Threats
MITRE ATT&CK Enterprise Techniques
CVEs Like This One
Affected Assets
Mitigating Controls
Mitigating Controls (NIST 800-53 r5) AI
Input validation directly stops unneutralized special elements from reaching query logic.
Mitigating Controls (NIST CSF 2.0) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.
Secure SDLC practices directly require parameterized queries and input neutralization to prevent query-logic injection.
Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.
Security testing in development catches injection vulnerabilities before release but does not itself implement the fix.
Secure development life cycle mandates input validation and query parameterization that directly prevent injection flaws.
Application security requirements explicitly call for controls against injection and improper query construction.
Secure architecture principles reduce the likelihood of query-logic flaws but do not prescribe the specific coding practice.
Secure coding standards require proper neutralization of special elements in all data queries.
Outsourced development agreements can require secure coding practices, indirectly mitigating the weakness.