pfSense CE: OS command injection via Traffic Shaper Limiters
Summary
Netgate pfSense CE versions 2.7.0 through 2.9.0 contain an OS command injection in the Traffic Shaper Limiters feature. An authenticated user with the Traffic Shaper Limiters privilege can manipulate the hidden number field of a limiter and then delete it, so that the value is passed unquoted to dnctl via /bin/sh as root. The attack leads to root command execution on the firewall, and a public proof of concept exists.
Affected
- Netgate pfSense CE 2.7.0 through 2.9.0 (range from the CNA record; the 2.7.x range is not verified)
- Default configuration: unaffected
- Tested by the researcher: 2.9.0-DEVELOPMENT, commit 9363ac5b8651a1c7a333180425ce7719070f95f9
- Required privilege: page-firewall-trafficshaper-limiter
Fixed in
Unknown. No vendor advisory or fixed release has been found.
Workaround
- Remove the page-firewall-trafficshaper-limiter privilege from all users who do not need it
- Review the user list in System > User Manager
- Restrict WebGUI access to management networks and enforce strong authentication for admin accounts
Exploitation
- Public proof of concept: yes (researcher repository and write-up, dated 14 Oct 2026)
- Exploited in the wild: no evidence found, not listed in KEV
- CISA SSVC: exploitation poc, automatable no, technical impact total
- EPSS: 8%
Our recommendation
- Check which users hold the Traffic Shaper Limiters privilege and remove it where it is not required
- Check that the WebGUI is not reachable from the internet
- Monitor for unexpected limiter changes and dnctl activity in the logs
- Watch the Netgate security advisories for a fix and update as soon as one is available
Public exploits
PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.
Research sources
- VulnCheck advisory www.vulncheck.com
- Researcher write-up: pfSense limiter number abraxaslabs.tech
- Researcher repository: pfsense-limiter-number github.com
- pfSense source: shaper.inc (delete_queue) github.com
- Vulners CVE entry vulners.com
- Netgate pfSense traffic shaper documentation docs.netgate.com
Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 1 Nov 2026, 08:02.
Original description (NVD)
Netgate pfSense CE 2.7.0 through 2.9.0 contains an OS command injection vulnerability that allows authenticated users with Traffic Shaper Limiters privileges to execute root commands by tampering with the limiter number field. Attackers can submit a malicious hidden 'number' value when editing a limiter, then delete it so delete_queue() passes the unquoted value to dnctl via /bin/sh as root.
NVD references (6)
- https://abraxaslabs.tech/research/pfsense-ce-leftovers
- https://abraxaslabs.tech/research/pfsense-limiter-number
- https://github.com/abraxas/pfsense-limiter-number
- https://github.com/pfsense/pfsense/blob/9363ac5b8651a1c7a333180425ce7719070f95f9/src/etc/inc/shaper.inc#L3820…
- https://github.com/pfsense/pfsense/blob/9363ac5b8651a1c7a333180425ce7719070f95f9/src/etc/inc/shaper.inc#L3959
- https://www.vulncheck.com/advisories/netgate-pfsense-ce-2.7.0-through-2.9.0-os-command-injection-via-traffic-…
Sources
The tracker combines official, freely usable data sources – updated continuously:
- NVD (NIST) – CVEs, rating (CVSS), affected products
- CISA KEV – vulnerabilities confirmed by CISA as actively exploited
- CISA Vulnrichment – CISA assessment (SSVC) in the official CVE record
- FIRST EPSS – probability of exploitation
- Microsoft MSRC – Patch Tuesday: vulnerabilities, severity, updates
- PoC-in-GitHub – public proof-of-concept repositories
- Metasploit (Rapid7) – modules of the Metasploit Framework
- Exploit-DB (OffSec) – archive of public exploits (links only)
- Patch days: official vendor pages (linked per vendor) (Vendor patch days)
This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.
Affected? We can help.
We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.
