Feathersjs — это платформа для создания веб-API и приложений реального времени с использованием TypeScript или JavaScript. Начиная с версии 5.0.0 до версии 5.0.42, клиенты Socket.IO могут отправлять произвольные объекты JavaScript в качестве аргумента id в любой метод службы (получение, исправление, обновление, удаление). Транспортный уровень не выполняет проверку типа для этого аргумента.
Когда служба использует адаптер MongoDB, эти объекты проходят через getObjectId() и попадают непосредственно в запрос MongoDB в качестве операторов. Отправка {$ne: null} в качестве идентификатора, соответствующего каждому документу в коллекции. Эта уязвимость исправлена в версии 5.0.42.
Показать оригинальное описание (EN)
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 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.
Характеристики атаки
Последствия
Строка CVSS v4.0