Skip to main content

pfSense CE CVE-2026-111230

| EUVDEUVD-2026-102342 MEDIUM
External Control of File Name or Path (CWE-73)
2026-10-15 VulnCheck
6.9
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as DynDNS-privileged user
  2. Delivery
    Configure custom file:// Update URL
  3. Exploit
    Set non-matching Result Match string
  4. Execution
    _checkStatus() logs root file contents
  5. Impact
    Harvest config.xml / master.passwd secrets

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V5 - File Handling File name/path control
Exploitation Conditions

Requires an authenticated pfSense CE account that has been granted the Dynamic DNS client privilege and access to services_dyndns_edit.php; the attacker must configure a custom DynDNS provider whose Update URL uses the file:// scheme (e.g. file:///conf/config.xml or file:///etc/master.passwd) and must supply a Result Match string that does NOT match the file contents, so that _checkStatus() logs the fetched data as root to the system log. Limiting factors: this privilege is not held by anonymous or default low-level users (PR:H), no victim interaction is needed (UI:N), and impact is confined to disclosure of files readable by root - there is no write/integrity or availability effect. It affects default-feature behavior of the DynDNS client, so no exotic non-default configuration beyond granting the privilege is required.

Impact

This is a credible but privilege-gated information-disclosure flaw, not a critical mass-exploitation threat. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:H/UI:N, VC:H only) and the 6.9 (Medium) score are internally consistent with the description: exploitation is network-reachable and low-complexity, but requires a user already holding the Dynamic DNS client privilege (PR:H), which is a non-default, administratively granted permission. Public exploit code exists (abraxas/pfsense-dyndns-file), reported by VulnCheck, which raises practical risk, but the vulnerability is NOT in CISA KEV and no active exploitation is indicated - so this should be treated as 'publicly available exploit code exists,' distinct from in-the-wild use. No EPSS score was provided in the input, so exploitation probability cannot be quantified here. The dominant factor limiting real-world risk is the PR:H prerequisite: an attacker must already be a semi-trusted authenticated operator, making this primarily a privilege-escalation-of-data / insider or post-initial-access concern (reading /conf/config.xml and /etc/master.passwd as root) rather than a perimeter breach. No SSVC decision data was supplied. Overall: real and worth patching given public POC and the sensitivity of the files exposed, but the authentication barrier keeps it out of emergency-priority territory.

Exploit ScenarioDerived

An authenticated pfSense operator (or an attacker who has compromised a limited account holding the Dynamic DNS client privilege) edits a DynDNS entry, selects a custom provider, and points the Update URL at file:///conf/config.xml with a deliberately non-matching Result Match string. When the client runs, _checkStatus() writes the fetched file contents to the system log as root, exposing the full configuration (including password hashes) or /etc/master.passwd. A public proof-of-concept for this technique is available on GitHub.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.8% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 15, 2026

Local file read in Netgate pfSense CE through 2.9.0 allows an authenticated user who holds the Dynamic DNS client privilege to cause root-readable files such as /conf/config.xml or /etc/master.passwd to be written into the system log. The attacker configures a custom DynDNS provider with a file:// Update URL and a deliberately non-matching Result Match value, so the _checkStatus() routine logs the fetched content as root. Publicly available exploit code exists, but exploitation is privilege-gated: it requires access to services_dyndns_edit.php with the Dynamic DNS client privilege, and independent assessment confirms only confidentiality impact with no integrity or availability effect, making this a credible but limited information-disclosure risk rather than a mass-exploitation threat.

RemediationAI

No vendor-released patch identified at time of analysis; monitor the VulnCheck advisory at https://www.vulncheck.com/advisories/netgate-pfsense-ce-through-2.9.0-local-file-read-via-dynamic-dns-update-url and Netgate channels for an official fixed version. Until a patch is available, remove the Dynamic DNS client privilege from any account that does not absolutely require it and restrict access to services_dyndns_edit.php to trusted administrators; this blocks the required precondition but will break legitimate delegated DynDNS administration. Disable or avoid custom DynDNS providers that accept arbitrary Update URLs, or enforce a policy that only http and https URLs are used, noting that this may disrupt nonstandard provider configurations. Review system logs for file:// URL usage or leaked content from /conf/config.xml and /etc/master.passwd, and rotate any credentials or secrets exposed in logs; log review and secret rotation can be operationally noisy but limits damage if the flaw has already been triggered. The public exploit at https://github.com/abraxas/pfsense-dyndns-file and research at https://abraxaslabs.tech/research/pfsense-ce-leftovers provide additional detection context.

Affected VersionsENISA

pfSense CE 0 ≤2.9.0

Affected Packages

euvd pfsense_ce no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The pfSense CE Dynamic DNS client is implemented in PHP within dyndns.class and exposed through services_dyndns_edit.php; the vulnerable flow lets a privileged user supply a custom Update URL that is fetched by the DynDNS client. CWE-73 (External Control of File Name or Path) is the root cause class because the application does not constrain the URL scheme or target path, allowing PHP's file:// stream wrapper to read local files as the root user running the DynDNS update process. The referenced source lines show the parsing and status-check logic in dyndns.class L598-L616 and L2151-L2171 plus the edit page handling in services_dyndns_edit.php L138-L141; when the Result Match string fails to match, _checkStatus() logs the retrieved file content into the system log. The CPE cpe:2.3:a:netgate:pfsense_ce:*:*:*:*:*:*:*:* identifies pfSense CE through 2.9.0 as affected, and the issue requires the Dynamic DNS client privilege rather than anonymous access.

Know when Pfsense Ce gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 6.9 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 4.9 MEDIUM

Network-reachable DynDNS feature (AV:N/AC:L) but requires the specially granted Dynamic DNS client privilege (PR:H); confidentiality-only impact (C:H, I:N, A:N) from root file reads, no scope change claimed.

3.1 AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
High
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Netgate pfSense CE through 2.9.0 contains a local file read vulnerability that allows users with the Dynamic DNS client privilege to read files as root by setting a file:// custom Update URL in services_dyndns_edit.php. Attackers can set a non-matching Result Match string so _checkStatus() logs file contents such as /conf/config.xml or /etc/master.passwd to the system log.

Threat Intelligence Overview

EPSS Score
0.8%
Top 43% exploitable
Prevalence
High
pfSense CE is a very widely deployed open-source firewall/router platform
Exploit
POC
Public exploit code exists
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC Yes
EPSS 0.8%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

55
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +34
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2023-48795 MEDIUM POC
5.9 Dec 18

The SSH transport protocol with certain OpenSSH extensions, found in OpenSSH before 9.6 and other products, allows remot

CVE-2026-111214 HIGH POC
8.6 Oct 15

OS command injection in Netgate pfSense CE 2.7.0 through 2.9.0 allows an authenticated web-interface user who holds the

CVE-2026-111218 HIGH POC
8.6 Oct 15

OS command injection in Netgate pfSense CE 2.7.0 through 2.9.0 lets an authenticated web GUI user who holds the Traffic

CVE-2026-111217 HIGH POC
8.6 Oct 15

Command injection in Netgate pfSense CE through 2.9.0 allows an authenticated user with Virtual IP (CARP) edit privilege

CVE-2026-111215 HIGH POC
8.6 Oct 15

Command injection in Netgate pfSense CE through 2.9.0 allows remote authenticated users with limited 'Wireless Edit' or

CVE-2026-111226 HIGH POC
8.6 Oct 15

Command injection in Netgate pfSense CE 2.4.5 through 2.9.0 lets an authenticated WebGUI user holding the Advanced Admin

CVE-2026-111216 HIGH POC
8.6 Oct 15

OS command injection in Netgate pfSense CE (through 2.9.0) allows remote attackers holding an authenticated web-GUI acco

CVE-2026-111229 HIGH POC
8.6 Oct 15

Command injection in pfSense CE 2.7.0 through 2.9.0 allows authenticated users who hold only the Captive Portal HA privi

CVE-2026-111231 HIGH POC
8.6 Oct 15

Authorization bypass in Netgate pfSense CE through 2.9.0 allows an authenticated WebGUI account that holds page privileg

CVE-2026-111224 HIGH POC
7.7 Oct 15

Authenticated VPN users can execute arbitrary commands as root on pfSense CE through 2.9.0 by exploiting an OS command i

CVE-2026-111223 HIGH POC
8.6 Oct 15

Command injection in Netgate pfSense CE 2.7.0 through 2.9.0 lets an authenticated administrator who holds IPsec Mobile c

CVE-2026-97730 HIGH POC
8.5 Sep 25

PHP code execution on Netgate pfSense Plus and pfSense CE firewalls can be achieved by an authenticated, highly privileg

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy