{"id":"CVE-2026-111229","title":"pfSense CE 2.7.0 through 2.9.0 contains a command injection vulnerability in services_captiveportal_hasync.php that allows users with only the Captive Portal HA privilege to execute commands as root","summary":"pfSense CE 2.7.0 through 2.9.0 contains a command injection vulnerability in services_captiveportal_hasync.php that allows users with only the Captive Portal HA privilege to execute commands as root. Attackers can set backwardsyncip to a…","severity":"high","cvss":7.2,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H","cwe":["CWE-78"],"vendor":"Netgate","product":"pfSense CE","affected":["pfsense_ce >= 2.7.0 <= 2.9.0"],"published":"2026-10-15","updated":"2026-10-15","sourceUpdated":"2026-10-15T19:17:35.813","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-111229","references":[{"url":"https://abraxaslabs.tech/research/pfsense-ce-leftovers","label":"disclosure@vulncheck.com"},{"url":"https://github.com/abraxas/pfsense-cp-ha-pfctl","label":"disclosure@vulncheck.com"},{"url":"https://github.com/pfsense/pfsense/blob/9363ac5b8651a1c7a333180425ce7719070f95f9/src/etc/inc/captiveportal.inc#L2958-L2966","label":"disclosure@vulncheck.com"},{"url":"https://github.com/pfsense/pfsense/blob/9363ac5b8651a1c7a333180425ce7719070f95f9/src/usr/local/www/services_captiveportal_hasync.php#L106-L140","label":"disclosure@vulncheck.com"},{"url":"https://www.vulncheck.com/advisories/netgate-pfsense-ce-2.7.0-through-2.9.0-command-injection-via-captive-portal-ha-sync","label":"disclosure@vulncheck.com"}],"tags":["nvd","cve.org"],"ingestedAt":"2026-10-15T19:25:46.430Z","slug":"CVE-2026-111229","body":"## Overview\n\npfSense CE 2.7.0 through 2.9.0 contains a command injection vulnerability in services_captiveportal_hasync.php that allows users with only the Captive Portal HA privilege to execute commands as root. Attackers can set backwardsyncip to a malicious XMLRPC server returning connected_users with shell metacharacters in ip or mac fields, which captiveportal_load_pfctl passes unescaped to a pfctl shell command.\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"twilight","depthScore":40,"depthScoreParts":{"impact":39.6,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}