HexBrain

Browse / CVEs / CVE-2018-18925

CVE-2018-18925· gogs / gogs· CWE-384

Gogs (Go Git Service) 0.11.66 - Remote Code Execution

criticalseverity
9.8CVSS score
31.1%likelihood of exploitation, next 30 days
98%of all CVEs are less likely
Readycheck to confirm it

Gogs 0.11.66 allows remote code execution because it does not properly validate session IDs, as demonstrated by a ".." session-file forgery in the file session provider in file.go. This is related to session ID handling in the go-macaron/session code for Macaron.

Impact

Successful exploitation of this vulnerability could allow an attacker to execute arbitrary code on the target system.

Fix

This issue will be fixed by updating to the latest version of Gogs.

How to confirm it

Send: GET /
Positive when: status_code_1 == 500 && status_code_2 == 200 && contains(body_2, "<meta name=\"author\" content=\"Gogs\" />")

Run it with nuclei: nuclei -id CVE-2018-18925 -u <target>. This check is not marked as verified by its authors.

The full check
id: CVE-2018-18925

info:
  name: Gogs (Go Git Service) 0.11.66 - Remote Code Execution
  author: princechaddha
  severity: critical
  description: Gogs 0.11.66 allows remote code execution because it does not properly validate session IDs, as demonstrated by a ".." session-file forgery in the file session provider in file.go. This is related to session ID handling in the go-macaron/session code for Macaron.
  impact: |
    Successful exploitation of this vulnerability could allow an attacker to execute arbitrary code on the target system.
  remediation: This issue will be fixed by updating to the latest version of Gogs.
  reference:
    - https://www.anquanke.com/post/id/163575
    - https://github.com/vulhub/vulhub/tree/master/gogs/CVE-2018-18925
    - https://nvd.nist.gov/vuln/detail/cve-2018-18925
    - https://github.com/gogs/gogs/issues/5469
    - https://github.com/j4k0m/CVE-2018-18925
  classification:
    cvss-metrics: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
    cvss-score: 9.8
    cve-id: CVE-2018-18925
    cwe-id: CWE-384
    epss-score: 0.31133
    epss-percentile: 0.98283
    cpe: cpe:2.3:a:gogs:gogs:*:*:*:*:*:*:*:*
  metadata:
    max-request: 2
    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,cve2018,gogs,lfi,rce,vulhub,vuln

http:
  - raw:
      - |
        GET / HTTP/1.1
        Host: {{Hostname}}
        Cookie: lang=en-US; i_like_gogits=../../../../etc/passwd;
      - |
        GET / HTTP/1.1
        Host: {{Hostname}}
        Cookie: lang=en-US; i_like_gogits=../../../../etc/dummy;

    matchers:
      - type: dsl
        dsl:
          - 'status_code_1 == 500 && status_code_2 == 200 && contains(body_2, "<meta name=\"author\" content=\"Gogs\" />")'

References

Use this check only on systems you are authorised to test. Where the data comes from