Skip to main content
COSMICBYTEZLABS
NewsSecurityHOWTOsToolsStudyTraining
ProjectsChecklistsAI RankingsNewsletterStatusTagsAbout
Subscribe

Press Enter to search or Esc to close

News
Security
HOWTOs
Tools
Study
Training
Projects
Checklists
AI Rankings
Newsletter
Status
Tags
About
RSS Feed
Reading List
Subscribe

Stay in the Loop

Get the latest security alerts, tutorials, and tech insights delivered to your inbox.

Subscribe NowFree forever. No spam.
COSMICBYTEZLABS

Your trusted source for IT intelligence, cybersecurity insights, and hands-on technical guides.

762+ Articles
120+ Guides

CONTENT

  • Latest News
  • Security Alerts
  • HOWTOs
  • Projects
  • Exam Prep

RESOURCES

  • Search
  • Browse Tags
  • Newsletter Archive
  • Reading List
  • RSS Feed

COMPANY

  • About Us
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CosmicBytez Labs. All rights reserved.

System Status: Operational
  1. Home
  2. Security
  3. CVE-2026-41229 — Froxlor PHP Code Injection via MySQL Server Settings
CVE-2026-41229 — Froxlor PHP Code Injection via MySQL Server Settings

Critical Security Alert

This vulnerability is actively being exploited. Immediate action is recommended.

SECURITYCRITICALCVE-2026-41229

CVE-2026-41229 — Froxlor PHP Code Injection via MySQL Server Settings

A critical PHP code injection vulnerability in Froxlor allows an admin with change_serversettings permission to inject arbitrary PHP code via unescaped single-quote values written into PHP configuration files. CVSS 9.1.

Dylan H.

Security Team

April 23, 2026
5 min read

Affected Products

  • Froxlor Server Administration (versions < 2.3.6)

Executive Summary

A critical PHP code injection vulnerability (CVE-2026-41229) has been disclosed in Froxlor, an open source server administration panel. The flaw resides in PhpHelper::parseArrayToString(), which serializes settings into PHP configuration files using single-quoted string literals — without escaping single quotes in user-supplied values.

CVSS Score: 9.1 (Critical)

An admin account holding the change_serversettings permission can add or update a MySQL server configuration via the API, supplying a string containing an unescaped single quote. The resulting PHP file contains injected arbitrary code that executes when the configuration is loaded. This constitutes a server-side code injection vulnerability leading to full remote code execution.

Froxlor 2.3.6 resolves this issue. All installations on prior versions should be patched immediately, especially those with multiple admin accounts or shared admin access.


Vulnerability Overview

AttributeValue
CVE IDCVE-2026-41229
CVSS Score9.1 (Critical)
TypePHP Code Injection
Attack VectorNetwork
Privileges RequiredHigh (admin with change_serversettings permission)
User InteractionNone
Confidentiality ImpactHigh
Integrity ImpactHigh
Availability ImpactHigh
Patch AvailableYes — upgrade to Froxlor 2.3.6

Affected Products

ProductAffected VersionsRemediation
Froxlor Server AdministrationAll versions prior to 2.3.6Upgrade to 2.3.6 immediately

Technical Analysis

Root Cause

The vulnerability originates in PhpHelper::parseArrayToString(), a utility function that converts PHP arrays into serialized PHP configuration file syntax. The function wraps string values in single-quoted literals:

// Vulnerable code pattern (simplified)
$output .= "'" . $value . "'"; // $value is not escaped

When an admin submits a MySQL server hostname, username, or password containing a single quote ('), the unescaped character breaks out of the string literal in the generated PHP file. Arbitrary PHP code appended after the quote is then embedded directly into the configuration file and executes when the configuration is included.

Attack Flow

1. Attacker obtains admin credentials with change_serversettings permission
2. Attacker calls the MySQL server add/update API endpoint
3. Attacker supplies a crafted string value: ' . system($_GET['cmd']) . '
4. PhpHelper::parseArrayToString() writes the value unescaped into a PHP config file
5. The generated config file now contains injected PHP code
6. Next time Froxlor loads the configuration, the injected code executes
7. Attacker achieves full code execution on the server

Generated Malicious PHP Example

// Config file generated by Froxlor after malicious input
$db_host = '' . system($_GET['cmd']) . '';
$db_user = 'froxlor';
// ...

When this file is included by the Froxlor application, system($_GET['cmd']) is executed — giving the attacker OS command execution via a simple GET parameter.

Why This Is Dangerous

Although this vulnerability requires an admin account with change_serversettings permission, this is a realistic attack scenario in several situations:

  • Compromised admin account — credential theft, phishing, or credential stuffing against a Froxlor panel gives the attacker this capability
  • Shared admin environments — ISPs and hosting providers often grant change_serversettings to secondary admin accounts for infrastructure management
  • Insider threat — a disgruntled or compromised admin can weaponize this flaw to escalate from admin to OS-level access
  • Privilege escalation chain — CVE-2026-41228 (path traversal) may provide a path to obtain admin credentials, which then enables this injection

Impact Assessment

Impact AreaDescription
Code ExecutionArbitrary PHP and OS commands execute under the web server user
Full Server CompromiseWeb server user context typically allows reading all hosted files
PersistenceInjected code persists in config files until the configuration is overwritten
Credential TheftAll database passwords, API keys, and hosting credentials accessible
Multi-Tenant ImpactAll tenants on a shared Froxlor installation are affected

Immediate Remediation

Step 1: Upgrade Froxlor to 2.3.6

# Check current Froxlor version
cat /var/www/froxlor/VERSION
 
# Update via apt (Debian/Ubuntu)
apt update && apt upgrade froxlor
 
# Or pull the latest release from GitHub
# https://github.com/Froxlor/Froxlor/releases/tag/2.3.6

Step 2: Audit Generated PHP Configuration Files

After patching, inspect existing PHP configuration files generated by Froxlor for signs of injection:

# Look for injected code patterns in Froxlor-generated config files
grep -rn "system\|exec\|passthru\|shell_exec\|eval" /etc/froxlor/
grep -rn "system\|exec\|passthru\|shell_exec\|eval" /var/www/froxlor/lib/config-serialized.php

Step 3: Restrict Admin Account Permissions

# Review which admin accounts have change_serversettings permission
# In Froxlor admin panel: Admin > Admins > Review permissions per account
# Remove change_serversettings from any accounts that do not strictly require it

Step 4: Rotate All Credentials

If exploitation is suspected or unclean config files are found, rotate all credentials:

  • Froxlor database passwords
  • MySQL server credentials configured in Froxlor
  • Web hosting account credentials
  • Any API keys stored in Froxlor configuration

Detection Indicators

IndicatorDescription
PHP function keywords in Froxlor config filesInjected code in configuration
Unexpected process spawning from web server userPHP code execution via injected config
Database config files with anomalous string valuesInjection artifacts remaining post-exploit
Admin audit logs showing MySQL server updates with unusual hostnamesAttack activity
Web server error logs with config include errorsFailed injection attempts

Post-Remediation Checklist

  1. Upgrade to Froxlor 2.3.6 immediately
  2. Inspect all generated PHP config files for injection artifacts
  3. Replace any malicious configuration files with clean versions
  4. Audit admin account permissions — minimize accounts with change_serversettings
  5. Enable MFA for all Froxlor admin accounts
  6. Rotate all credentials accessible from the server
  7. Review web server process logs for unusual command execution

References

  • NVD — CVE-2026-41229
  • Froxlor GitHub
  • Related: CVE-2026-41228 — Froxlor Path Traversal via def_language
#CVE-2026-41229#Froxlor#Code Injection#PHP Injection#RCE#Remote Code Execution#Server Administration#Open Source

Related Articles

CVE-2026-41228 — Froxlor Path Traversal via def_language Parameter

A critical path traversal vulnerability in Froxlor's Customers.update and Admins.update API endpoints allows authenticated low-privilege users to traverse the filesystem and achieve remote code execution. CVSS 9.9.

5 min read

CVE-2026-39987: Marimo Pre-Auth Remote Code Execution — CISA KEV Added

A critical pre-authorization remote code execution vulnerability in Marimo, the open-source reactive Python notebook, allows unauthenticated attackers to gain shell access and execute arbitrary system commands. CISA has added this flaw to the Known Exploited Vulnerabilities catalog, confirming active exploitation in the wild.

4 min read

CVE-2017-20230: Perl Storable Stack Overflow — CVSS 10.0

A stack overflow vulnerability in Perl's Storable module (versions before 3.05) stems from a signed/unsigned integer mismatch in retrieve_hook(), enabling attackers to craft malicious data that triggers remote code execution.

5 min read
Back to all Security Alerts