GHSA-m734-r4g6-34f9

    Dashboard / Vulnerabilities / GHSA-m734-r4g6-34f9

    GHSA-m734-r4g6-34f9

    Published: 4 Jun 2019Last Modified: 4 Aug 2021

    Summary: NoSQL Injection in loopback-connector-mongodb

    Details: Versions of `loopback-connector-mongodb` before 3.6.0 are vulnerable to NoSQL injection. MongoDB Connector for LoopBack fails to properly sanitize a filter passed to query the database by allowing the dangerous `$where` property to be passed to the MongoDB Driver. The Driver allows the special `$where` property in a filter to execute JavaScript (client can pass in a malicious script) on the database Driver. This is an [intended feature of MongoDB](https://docs.mongodb.com/manual/core/server-side-javascript/) unless disabled ([instructions here](https://docs.mongodb.com/manual/core/server-side-javascript/#disable-server-side-js)). A proof of concept malicious query: ``` GET /POST filter={"where": {"$where": "function(){sleep(5000); return this.title.contains('Hello');}"}} ``` The above makes the database sleep for 5 seconds and then returns all “Posts” with the title containing the word `Hello`. ## Recommendation Update to version 3.6.0 or later.

    Affected packages

    Package

    Name: loopback-connector-mongodb

    Purl: pkg:npm/loopback-connector-mongodb

    Affected ranges

    Type: SEMVER

    Events:

    Introduced- 0
    Fixed -3.6.0

    Affected versions

    Common Vulnerability Scoring System

    Attack Vector
    Network
    Adjacent
    Local
    Physical
    Privileges Required
    None
    Low
    High
    User Interaction
    None
    Required
    Scope
    Unchanged
    Changed
    Confidentiality
    None
    Low
    High
    Integrity
    None
    Low
    High
    Availability
    None
    Low
    High
    GHSA-m734-r4g6-34f9 | CVE-DB