CVE-2020-25540
PHP vulnerability analysis and mitigation

Overview

ThinkAdmin v6 is affected by a directory traversal vulnerability (CVE-2020-25540) discovered in September 2020. An unauthorized attacker can read arbitrary files on a remote server via GET request encode parameter. The vulnerability affects the Update.php controller in the admin API, which contains three functions that can be accessed without authentication (NVD, GitHub Issue).

Technical details

The vulnerability exists in the Update.php controller's 'get()' function which improperly handles file paths. The function accepts an encoded parameter that after decoding can be used to traverse directories. The application attempts to restrict file access through an allowlist and blocks access to database.php, but these restrictions can be bypassed using path traversal sequences like '../' or using special characters on Windows systems. The vulnerability has a CVSS v3.1 base score of 7.5 HIGH (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N) (NVD).

Impact

A successful exploitation allows an unauthenticated attacker to read arbitrary files from the server's filesystem. This could lead to exposure of sensitive information including configuration files, source code, and other critical system files (NVD, WTFSec).

Exploitability

The vulnerability is easily exploitable as it requires no authentication and can be triggered through HTTP GET requests. Proof-of-concept exploits have been publicly disclosed, demonstrating both directory listing and arbitrary file reading capabilities. The vulnerability can be exploited by sending specially crafted requests to the admin/api.Update/node endpoint for directory listing and admin/api.Update/get endpoint for file reading (GitHub Issue, WTFSec).

Mitigation and workarounds

Users should upgrade to a version newer than 2020.08.03.01. The vulnerability was fixed by implementing proper input validation and path traversal checks (NVD).

Additional resources


SourceThis report was generated using AI

Related PHP vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-77143HIGH8.8
  • PHP logoPHP
  • composer://jweiland/pforum
NoYesAug 25, 2026
CVE-2026-77142HIGH8.8
  • PHP logoPHP
  • composer://jweiland/yellowpages2
NoYesAug 25, 2026
CVE-2026-77146HIGH8.3
  • PHP logoPHP
  • composer://in2code/femanager
NoYesAug 25, 2026
CVE-2026-77145HIGH7.1
  • PHP logoPHP
  • composer://jweiland/events2
NoYesAug 25, 2026
CVE-2026-77144HIGH7.1
  • PHP logoPHP
  • composer://jweiland/events2
NoYesAug 25, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management