HexBrain

Browse / CVEs / CVE-2020-11529

CVE-2020-11529· getgrav / grav· CWE-601

Grav < 1.7 - Open Redirect

mediumseverity
6.1CVSS score
10.9%likelihood of exploitation, next 30 days
96%of all CVEs are less likely
Readycheck to confirm it

Grav before 1.7 has an open redirect vulnerability via common/Grav.php. This is partially fixed in 1.6.23 and still present in 1.6.x.

Impact

An attacker can exploit this vulnerability to redirect users to malicious websites, leading to phishing attacks.

Fix

Upgrade Grav CMS to version 1.7 or later to fix the open redirect vulnerability.

How to confirm it

Send: GET {{BaseURL}}/%252f%255cinteract.sh%252fa%253fb/
Positive when: matches in header /(?m)^(?:Location\s*?:\s*?)(?:https?:\/\/|\/\/|\/\\\\|\/\\)(?:[a-zA-Z0-9\-_\.@]*…/

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

The full check
id: CVE-2020-11529

info:
  name: Grav < 1.7 - Open Redirect
  author: 0x_Akoko
  severity: medium
  description: Grav before 1.7 has an open redirect vulnerability via common/Grav.php. This is partially fixed in 1.6.23 and still present in 1.6.x.
  impact: |
    An attacker can exploit this vulnerability to redirect users to malicious websites, leading to phishing attacks.
  remediation: |
    Upgrade Grav CMS to version 1.7 or later to fix the open redirect vulnerability.
  reference:
    - https://github.com/getgrav/grav/issues/3134
    - https://nvd.nist.gov/vuln/detail/CVE-2020-11529
    - https://github.com/getgrav/grav/commit/2eae104c7a4bf32bc26cb8073d5c40464bfda3f7
    - https://getgrav.org/#changelog
    - https://github.com/ARPSyndicate/kenzer-templates
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
    cvss-score: 6.1
    cve-id: CVE-2020-11529
    cwe-id: CWE-601
    epss-score: 0.10862
    epss-percentile: 0.95897
    cpe: cpe:2.3:a:getgrav:grav:*:*:*:*:*:*:*:*
  metadata:
    max-request: 1
    vendor: getgrav
    product: grav
  tags: cve2020,cve,redirect,grav,getgrav,vuln

http:
  - method: GET
    path:
      - '{{BaseURL}}/%252f%255cinteract.sh%252fa%253fb/'

    matchers:
      - type: regex
        part: header
        regex:
          - '(?m)^(?:Location\s*?:\s*?)(?:https?:\/\/|\/\/|\/\\\\|\/\\)(?:[a-zA-Z0-9\-_\.@]*)interact\.sh\/?(\/|[^.].*)?$' # https://regex101.com/r/L403F0/1

References

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