Skip to content

Injection prevention #1400

@aisbaa

Description

@aisbaa

Hello, I was expecting MongoEngine to help developers to prevent injection vulnerabilities.

class User(Document):
    name = StringField()

# assume this is controller for HTTP request
def get_users_by_name(request):
    # assume that request.json is {'name': {'$gt': ''}}
    q = User.objects(name=request.json['name'])
    print(q._query) # this would change original query structure to {'name': {'$gt': ''}}
    return list(q)

Expecting MongoEngine to not allow such behavior, because ORM's for SQL usually prevent most injection vectors. Let me know your opinion on it.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions