CVE-2026-111222 in pfSense CEinfo

Summary

by MITRE • 10/15/2026

Netgate pfSense CE through 2.9.0 contains a php.ini injection vulnerability that allows authenticated users with General Setup privileges to inject directives by submitting an unvalidated timezone value. Attackers can embed a quote and newline to add auto_prepend_file pointing at /var/db/zoneinfo, executing PHP as root after php.ini is regenerated at boot or php-fpm restart.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Analysis

by VulDB Data Team • 10/16/2026

The vulnerability identified in Netgate pfSense Community Edition versions through 2.9.0 represents a critical configuration injection flaw rooted in insufficient input validation within the system's administrative interface. Specifically, this issue affects the handling of timezone settings during General Setup operations. When an authenticated user with General Setup privileges submits a timezone value, the backend processing logic fails to properly sanitize or validate the input string before incorporating it into internal configuration structures. This lack of rigorous sanitization creates a pathway for attackers to manipulate underlying system configurations by injecting malicious directives directly into the PHP initialization file, php.ini. The core technical flaw lies in the application's failure to escape special characters such as quotes and newlines within user-supplied data intended for timezone selection, allowing these characters to break out of their expected context and alter subsequent configuration lines.

From a technical perspective, this vulnerability enables an attacker to perform PHP initialization file injection by crafting a malicious timezone string that includes embedded quote and newline sequences. By carefully constructing the input, an adversary can append new directives to the php.ini file. A particularly dangerous payload involves setting the auto_prepend_file directive to point towards /var/db/zoneinfo. This specific path is significant because it allows for arbitrary code execution with elevated privileges. When the system undergoes a reboot or when the PHP-FPM service is restarted, the modified php.ini is loaded by the web server processes running as root. Consequently, any PHP script included via auto_prepend_file will be executed in the context of the root user before any other application logic runs. This effectively grants an attacker full control over the underlying operating system without requiring further exploitation steps or privilege escalation techniques beyond initial authentication with General Setup rights.

The operational impact of this vulnerability is severe, as it compromises the integrity and confidentiality of the entire firewall infrastructure managed by pfSense. Since php-fpm typically operates under a privileged user account to handle administrative web interface tasks successfully exploiting this flaw results in remote code execution at the root level. An attacker can leverage this access to install persistent backdoors, exfiltrate sensitive network configuration data, modify routing tables, or pivot into internal networks protected by the firewall. The ability to execute arbitrary commands as root bypasses many standard security controls and logging mechanisms that might otherwise detect less privileged intrusions. Furthermore, because the injection occurs in a file regenerated at boot time, persistence is maintained across reboots unless the underlying configuration files are manually restored from backups or reset to factory defaults, making remediation difficult if not addressed promptly through patching rather than manual intervention alone.

This vulnerability aligns with CWE-94 Improper Control of Generation of Code (Code Injection) and specifically relates to CWE-78 Improper Neutralization of Special Elements used in an OS Command where the injection targets configuration files that dictate execution behavior. In terms of adversary tactics, this exploit maps directly to MITRE ATT&CK technique T1505.003 Server Component Web Shell: PHP App Extension and potentially T1496 Remote File Inclusion if the attacker hosts malicious content externally, though in this case local file inclusion via auto_prepend_file is the primary vector. The attack also reflects aspects of T1205 Trust Relationship Manipulation by abusing trusted configuration files to execute unauthorized code.

Mitigation strategies should prioritize immediate patching to version 2.9.1 or later where input validation for timezone fields has been strengthened to prevent character injection. Administrators must ensure that all pfSense instances are updated through the official package manager interface. In environments where patching is not immediately feasible, network segmentation and strict access control lists limiting administrative web interface access to trusted IP addresses can reduce exposure. Additionally, monitoring system logs for unexpected changes in php.ini or unusual root-level process executions initiated by PHP services may aid in early detection of exploitation attempts. Regular audits of configuration files against known good baselines are also recommended to identify any unauthorized modifications resulting from successful exploits.

Responsible

VulnCheck

Reservation

10/15/2026

Disclosure

10/15/2026

Moderation

accepted

EPSS

0.00000

KEV

no

Activities

low

Sources

Interested in the pricing of exploits?

See the underground prices here!