Control Web Panel Flaws Let Attackers Bypass Login and Run Commands as Root — CVE-2026-104080 Fixed Only in CWP 1.29

Cyber · 2026-11-04 · By H.A

Control Web Panel Flaws Let Attackers Bypass Login and Run Commands as Root — CVE-2026-104080 Fixed Only in CWP 1.29

A batch of newly published Control Web Panel CVEs covers an authentication bypass, path traversal, file write and several command injections, including an unauthenticated root command injection (CVE-2026-104080) fixed only in CWP 1.29, released October 31.

What Happened

On November 2, security researchers published a batch of CVEs for Control Web Panel (CWP), the free Linux hosting control panel formerly called CentOS Web Panel. CWP is widely used on low-cost VPS and dedicated servers running AlmaLinux, Rocky Linux and other Enterprise Linux distributions. The bugs include:

The most serious, CVE-2026-104080, lets an unauthenticated attacker run commands as root through an internal API route. It was only fixed in CWP 1.29, released on October 31, two days before the CVE went public. Many servers will still be on older builds.

Technical Details

According to the CVE records published by the researchers:

Taken together, the flaws follow one pattern: user panel modules and internal API routes pass request data into shell commands and file paths without escaping it. They also assume a login check has stopped execution when it has not. The researchers describe the issue as pre-auth module dispatch, meaning code paths reachable before authentication completes.

Severity scores vary. The researchers' own CVSS 3.1 scores are 7.8 to 8.8. Some third-party trackers list CVE-2026-77876 as 9.8 critical, treating it as fully unauthenticated, while the CNA vector for CVE-2026-73696 assumes low privileges. Read the scores as a range. A chain of an auth bypass plus a root command injection on a hosting panel is a full server takeover.

Exploitation Status

As of November 3, none of these CVEs is in CISA's KEV catalog, and there are no public reports of exploitation in the wild. That may not last. CWP has a history here: CVE-2022-44877, a pre-auth command injection in the CWP login page, was exploited in the wild soon after a public proof of concept appeared, and CISA added it to KEV. Hosting panels are a favourite target because one compromise gives access to every site, mailbox and database on the server.

Who Is Affected

What To Do Now

  1. Update CWP to 1.29 or later and confirm the version in the admin panel. Through the CLI:
sh /scripts/update_cwp

Then confirm the running version on the admin panel dashboard.

  1. Restrict panel ports to trusted IPs with CSF, which CWP ships with:
# /etc/csf/csf.conf: remove 2030,2031,2082,2083 from TCP_IN, then allow your admin IP only
csf -a 203.0.113[.]10 "CWP admin"
csf -r
  1. Check for signs of compromise on servers that were exposed while running old builds:
last -n 50
find /usr/local/cwpsrv /home -name "*.php" -newer /etc/passwd -mtime -14 2>/dev/null | head -50
grep -E "valid_token|newpass|protected_directory|phpini_editor" /usr/local/cwpsrv/logs/access_log* | tail -100
crontab -l; ls -la /etc/cron.d/

Look for unknown cron jobs, new root SSH keys in /root/.ssh/authorized_keys, and PHP files in web roots that you did not deploy.

  1. Rotate credentials (root, panel, database and mail) on any server where you find suspicious activity, and treat it as fully compromised.

Why It Matters

CWP's appeal is that it is free and does almost everything a commercial panel does. The cost is a large, root-privileged PHP codebase that faces the internet on thousands of small hosting servers. This batch is a reminder that the hosting control panel is often the weakest part of a server: it has root, it is reachable from the web, and it is easy to forget to update. If you run CWP, the fix has been available since October 31.

COMPUTE NODE · --:--:--

Fresh cybersecurity news,
daily threat intelligence.

Run local models, watch a live threat feed, and ship security work.

0threats tracked
0news & posts
0live intel sources
0geo-tagged map
0resolving host

Everything in one place

Self-hosted, hardened, and yours.

RUN IT

Local AI console

Chat with a model on your own hardware via Ollama or any OpenAI-compatible server. No cloud, no key.

DEFEND

Cyber threat feed

Automatic daily intel from CISA KEV, NVD & GitHub advisories, a browseable threat map, and your own notes.

NEWS

News & videos

Articles and updates on pentesting, AI, and cyber — with embedded video, including YouTube. Post your own.

DIRECTORY

Registry

Runtimes, models, MCP servers, agents, and a full security & pentest tooling section.

PUBLISH

Posts

Write, edit, publish, and share articles backed by a real database and your account.

COMMUNITY

Forum

Threads and replies across categories from Models to Hardware to Security.

CODE

Repos

Curated AI and security GitHub repos, plus a shelf for pinning your own.

DOWNLOAD

Skill packs

Agent starters, RAG scaffolds, and defensive security & VAPT report templates.

Registry

Runtimes, models, MCP servers, agent frameworks, and a security & pentest tooling section — all links out to the real projects.

Local AI console

Talk to a model running on your own machine through Ollama or an OpenAI-compatible server — your prompts and the model's replies always go straight from your browser to your local model, never through a Reef server. Attach files for context, and pick up saved chats where you left off.

Type /image a prompt in the box below to generate
Not connected

Local AI hardware benchmark

A spec-based compatibility advisor — tells you which local models your hardware can run well, which will be slow, and which to skip. Connect to Ollama below for a real, measured speed test instead of an estimate.

1. Your hardware

2. Live check against your local model server (optional)

If a local model server is running, this cross-references the table above with what you've actually got loaded — and runs a real, measured speed test instead of an estimate.

AI Database

A browsable catalog of AI models across providers — context windows, pricing, and capabilities.

Loading…

Cyber threat feed

Latest threats pulled automatically every day from CISA's Known-Exploited-Vulnerabilities catalog and NVD — plus threat intel you post yourself.

⇩ Export STIX
Loading threat feed…

News

Articles, guides and updates on pentesting, AI, and cybersecurity — with embedded video. Add your own, including YouTube.

Loading…

Posts

Loading…

Loading posts…

Forum

Questions, answers, and talk about running AI locally.

Loading forum…

GitHub repositories

Curated AI and security repos, plus your own pinned shelf.

Command board

One-liners, configs, and advice worth keeping — shared by everyone here.

⚠ Commands are shared with all users. Never include credentials, tokens, or internal hostnames. Review anything before you run it.
Loading commands…

Skill packs

Starter files served from the API — AI agent scaffolds plus defensive security & VAPT reporting templates. Click to download.

Loading skills…

Threat Intelligence

Curated threat write-ups, advisories and analysis — with cover media.

Loading…

Tutorials

Step-by-step guides for running local AI, using the console, and tracking threats. Admins can add their own.

Loading…

Downloads

Direct links to the official homepage/download page for well-known cybersecurity, penetration-testing, and local-AI software. Always verify checksums/signatures from the vendor before running anything.

Loading…

Terms & Conditions

Loading…

Help & FAQ

Answers to common questions about Reef Sentinel, plus a formatting guide for posts, articles, and comments.


Formatting guide

Commands you can type into the body of a post, comment, or reply — no HTML needed. Comments and short replies only support bold, italic, and inline code.

Contact us

Questions, feedback, or a security disclosure? Reach us directly, or send a message and we'll get back to you by email.

Loading…

Send a message

VAPT Report Generator

Build an engagement, add findings with a live CVSS calculator, and generate a branded, print-ready report.

Recon Toolkit

Passive OSINT lookups for the recon phase of an engagement, plus offline hash identification and a payload cheatsheet.

Website Checker

Reads a website's HTTP response headers to identify its framework and server, shows any known CVEs for the exposed versions with details, and recommends what to do.

Control panel

Manage everything shown on the site — news & videos, posts, homepage headlines, and subscribers. Admin only.

Overview
Content
Site
Account & Security

Email settings

SMTP on ports 25/465/587 is blocked outbound by some hosts (e.g. DigitalOcean droplets by default) — Resend and Brevo send over their HTTPS API instead, so they work even then. Only the selected provider is used to send; the others stay saved but idle, so you can switch back any time without losing settings.

Get a key from resend.com/api-keys. Uses the "From address" below as the sender — it must be on a domain you've verified with Resend.

Get an API key (not an SMTP key) from app.brevo.com/settings/keys/api. Uses the "From address" below as the sender — it must be a verified sender in your Brevo account.

"From address" and "Site name/URL" are shared by SMTP, Resend, and Brevo — they control what recipients see, regardless of which provider is active.

Send a test email

Sends through whichever provider is currently active above. Save your settings first if you just changed them.