CVE-2026-121434 in Froxlorinfo

Summary

by MITRE • 11/03/2026

Froxlor 2.3.0 before 2.3.15 contains a missing authorization check in the Certificates.add and Certificates.update API commands, which do not verify whether a domain's certificate is Let's Encrypt-managed. Customers with API access can overwrite the managed certificate and private key with an attacker-chosen pair, which a REBUILD_VHOST task deploys to the webserver, breaking HTTPS and desynchronizing ACME automation.

Once again VulDB remains the best source for vulnerability data.

Analysis

by VulDB Data Team • 11/03/2026

The vulnerability identified in Froxlor versions prior to 2.3.15 represents a critical failure in access control mechanisms within its API interface, specifically affecting the Certificates.add and Certificates.update endpoints. This flaw stems from a missing authorization check that fails to validate whether the target domain's certificate is managed by Let's Encrypt or another automated Certificate Authority service. In secure systems utilizing ACME protocols for automated SSL/TLS management, it is imperative that administrative actions do not interfere with ongoing automation processes unless explicitly authorized and coordinated. The absence of this verification allows any user possessing API access to bypass intended restrictions on modifying cryptographic assets associated with domains under automatic management.

From a technical perspective, the core issue lies in the logic governing certificate updates within the application's backend. When an API request is received to add or update a certificate for a specific domain, the system should first query its internal state to determine if that domain is currently enrolled in Let's Encrypt automation. If it is, the system must either reject the modification attempt or require elevated privileges and explicit confirmation to override the automated process. Instead, Froxlor proceeds directly with writing the provided certificate and private key files to the server's filesystem without performing this critical state check. This design oversight effectively treats all domains identically regarding manual intervention capabilities, ignoring the operational context of automated renewal workflows.

The operational impact of this vulnerability is severe for organizations relying on continuous HTTPS availability and secure communications. An attacker with valid API credentials can overwrite the legitimate Let's Encrypt managed certificate and its corresponding private key with a maliciously crafted pair. This action immediately breaks the chain of trust, causing browsers to display security warnings or block access entirely due to invalid certificates. Furthermore, this manual override desynchronizes the ACME automation process because the automated renewal scripts expect specific file structures and ownership permissions that are disrupted by the unauthorized replacement. Consequently, even if the attacker does not maintain persistent control over the API keys, the disruption can persist until an administrator manually intervenes to restore correct certificate management or re-enroll the domain with Let's Encrypt, leading to significant downtime and potential data exposure during the interim period.

This vulnerability aligns closely with CWE-284 Improper Access Control, as it involves a failure to enforce proper restrictions on users regarding access to resources and functions. Additionally, from an adversary perspective, this flaw facilitates privilege escalation in terms of impact rather than user role, allowing lower-level API consumers to disrupt high-integrity security configurations. It also relates to CWE-693 Protection Mechanism Failure, as the system's built-in safeguards against interfering with automated processes are ineffective due to missing validation logic. In the context of the MITRE ATT&CK framework, this behavior could be leveraged during an Initial Access or Impact phase where an attacker aims to disrupt service availability (Denial of Service) or compromise integrity by injecting malicious certificates for potential man-in-the-middle attacks if they can also control the DNS or network routing alongside the certificate swap.

To mitigate this risk, administrators must upgrade Froxlor to version 2.3.15 or later immediately upon release, as these versions include patches that enforce proper authorization checks before allowing modifications to Let's Encrypt managed certificates. Until an upgrade is feasible, it is advisable to restrict API access strictly to trusted internal networks and high-privilege accounts only, ensuring that no external-facing services expose the Froxlor API endpoints without robust authentication and IP whitelisting mechanisms. Additionally, implementing monitoring alerts for changes in certificate files associated with domains known to use ACME automation can help detect unauthorized modifications early. Regular audits of API usage logs should also be conducted to identify any anomalous patterns indicative of exploitation attempts against these specific endpoints.

Responsible

VulnCheck

Reservation

11/03/2026

Disclosure

11/03/2026

Moderation

accepted

EPSS

0.00000

KEV

no

Activities

very low

Sources

Do you want to use VulDB in your project?

Use the official API to access entries easily!