Skip to content
Fencer Intel
high 7.2

CVE-2020-15867 in the critical feed json

The git hook feature in Gogs 0.5.5 through 0.12.2 allows for authenticated remote code execution.

published 6y ago modified 4mo ago also EUVD-2020-7848

cvss
7.2
version 3.1, NVD
cisa kev
Not listed
not in CISA's catalog
epss
87.4%
EPSS 87.4% chance of exploitation in 30 days, percentile 99.7%
public exploits
1
Metasploit, plus a Nuclei check

Summary

The git hook feature in Gogs 0.5.5 through 0.12.2 allows for authenticated remote code execution. There can be a privilege escalation if access to this hook feature is granted to a user who does not have administrative privileges. NOTE: because this is mentioned in the documentation but not in the UI, it could be considered a "Product UI does not Warn User of Unsafe Actions" issue.

Is CVE-2020-15867 in your stack? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.

Check with Fencer

Timeline

  1. First public exploit (Metasploit exploit/multi/http/gogs_git_hooks_rce)
  2. Published

Exploit prediction

87.42% chance of exploitation in the next 30 days, higher than 99.7% of all scored CVEs (FIRST EPSS, 2026-11-09).

Exploits and checks

  • Metasploit exploit/multi/http/gogs_git_hooks_rce Gogs Git Hooks Remote Code Execution metasploit exploit, excellent rank, 2020-10-07
  • Nuclei template Gogs 0.5.5 - 0.12.2 - Remote Code Execution nuclei detection template
  • fzi.de 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/ referenced PoC, tagged "exploit" by a source, unverified
  • packetstormsecurity.com http://packetstormsecurity.com/files/162123/Gogs-Git-Hooks-Remote-Code-Execution.html referenced PoC, tagged "exploit" by a source, unverified

CVSS scores

assigned by version score vector
NVD 3.1 7.2 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
NVD 2.0 6.5 AV:N/AC:L/Au:S/C:P/I:P/A:P

References

Sources

Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.