Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege user with sync permission
-
ExploitReach /api/v2/system/restapi/settings/sync endpoint
-
ExecutionModify REST API configuration secrets via weak deserialization
-
ImpactElevate account to full administrator (page-all)
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V1 - Encoding and Sanitization Safe deserialization, type allowlists
MITRE ATT&CK
2 techniques across 2 tactics: Execution, Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires (1) the unofficial pfSense-pkg-RESTAPI package installed at a version prior to 2.9.0, and (2) an authenticated account that has been explicitly granted the scoped 'settings sync' permission (api-v2-system-restapi-settings-sync-post). The attacker then abuses the /api/v2/system/restapi/settings/sync (HA settings sync) endpoint to modify REST API configuration secrets. Limiting factors: the sync privilege is a non-default, deliberately assigned permission, so fully unauthenticated users cannot exploit this; exposure is further reduced where REST API ACLs or firewall rules already restrict the API endpoints to trusted administrator and HA peer IP addresses. This is NOT exploitable against a default configuration with no scoped-permission accounts. |
| Impact | This is a genuine high-priority issue for environments running the affected package, but the risk is bounded by a meaningful precondition. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H, 8.8) indicates a network-reachable, low-complexity attack requiring low-level authentication, with full confidentiality/integrity/availability impact - consistent with the described escalation of a non-administrative user to full administrator. The PR:L metric is well-justified: exploitation requires an existing authenticated account that specifically holds the dedicated 'settings sync' permission (api-v2-system-restapi-settings-sync-post), so this is not an anonymous remote attack but an insider/post-authentication privilege-boundary failure. No EPSS score was provided, so exploitation probability cannot be quantified from the input. The CVE is NOT in CISA KEV and no public exploit code is referenced, so there is no public exploit identified at time of analysis. The CWE-502 (deserialization) classification aligns with the vendor's note of a 'weak deserialization pattern,' indicating the escalation is achieved by abusing the sync endpoint to inject/modify configuration secrets. Net: a real priority for the subset of pfSense deployments that have installed this unofficial package AND granted the sync permission to non-admins - but mitigated by the fact that it is not exploitable by arbitrary unauthenticated users and the permission is not granted by default. |
| Exploit ScenarioDerived | An organization grants a semi-trusted operator the scoped 'settings sync' REST API permission for HA configuration tasks. That operator sends authenticated requests to the /api/v2/system/restapi/settings/sync endpoint to modify REST API configuration secrets, abusing the weak deserialization/access-control gap to elevate their account to full administrator. No user interaction is required and attack complexity is low, but the attacker must already possess a valid account with the sync privilege; no public exploit code is known. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 21, 2026
Privilege escalation in pfSense-pkg-RESTAPI before 2.9.0 lets an authenticated account holding the scoped settings-sync permission modify REST API configuration secrets through the HA sync endpoint, elevating that non-administrative user to full administrator. The issue is confined to installations of the unofficial pfSense REST API package and is not exploitable against a default configuration with no scoped-permission accounts; no public exploit code was identified at time of analysis. CVSS scores it 8.8, but practical risk is bounded by the deliberately assigned sync privilege and any REST API ACL or firewall restrictions on API endpoints.
RemediationAI
Upgrade pfSense-pkg-RESTAPI to 2.9.0 or later, which is the vendor-released patch; see https://github.com/pfrest/pfSense-pkg-RESTAPI/security/advisories/GHSA-8q8g-9f77-8g8g and https://github.com/pfrest/pfSense-pkg-RESTAPI/releases/tag/v2.9.0. If upgrading immediately is not possible, remove the api-v2-system-restapi-settings-sync-post privilege from every non-administrative account, understanding that this disables HA settings sync for those accounts until they are migrated to full page-all administrators. Additionally configure REST API Access Control Lists and firewall rules so the API endpoints are reachable only from trusted administrator hosts and HA peer IP addresses, accepting that misconfigured HA peers will fail to sync until their addresses are allowlisted. After upgrading, re-check that hasync_username holds page-all and that hasync is enabled on remote HA peers, since 2.9.0 makes both conditions mandatory for sync to succeed.
Affected VersionsENISA
Affected Packages
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-pkg-RESTAPI package provides an unofficial REST and GraphQL interface for pfSense CE and pfSense Plus firewalls. The affected /api/v2/system/restapi/settings/sync endpoint handled high-availability settings synchronization. Two weaknesses combined here: an overly broad authorization boundary that accepted the sub-administrative api-v2-system-restapi-settings-sync-post privilege instead of requiring full administrative page-all access, and a weak deserialization pattern (CWE-502) in the sync path. Together they let a non-admin with that scoped permission alter REST API configuration secrets and cross into full administrator capability. Version 2.9.0 removes the scoped sync privilege, requires page-all for the sync endpoint, requires hasync to be enabled on remote HA peers, and modernizes opt-in defaults, format, and validation.
Know when Pfsense Pkg Restapi 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
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Network-reachable API endpoint (AV:N) with no special complexity (AC:L); requires an authenticated account holding the scoped sync permission (PR:L), and full admin escalation yields total C/I/A impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
The pfSense REST API package is an unofficial, open-source REST and GraphQL API for pfSense CE and pfSense Plus firewalls. A privilege escalation vulnerability in pfSense-pkg-RESTAPI prior to version 2.9.0 allows authenticated accounts holding the dedicated settings sync permission to modify REST API configuration secrets. This enables a non-administrative user to elevate their privileges to a full administrator. pfSense-pkg-RESTAPI 2.9.0 patches the issue. Access to the HA settings sync endpoint now strictly requires full administrative privileges (page-all). The sub-administrative sync privilege has been removed in versions v2.9.0 and later. In addition to correcting the access control boundary, version 2.9.0 includes the following hardening measures: opt-in default and format and validation modernization. As a workaround, one may mitigate exposure by taking either or all of the following steps. Revoke Scoped Permissions: Remove the api-v2-system-restapi-settings-sync-post privilege from all non-administrative users. Apply ACLs: Configure REST API Access Control Lists (ACLs) and/or firewall rules to restrict access to API endpoints exclusively to trusted administrator and HA peer IP addresses.
Technical POC Analysis
CWE-502 (Deserialization of Untrusted Data), per the advisory's own classification.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
The unofficial pfSense REST API package (versions before 2.9.0) contains a privilege-escalation flaw that lets a non-administrative account with the scoped settings-sync permission rewrite API secrets through the high-availability sync endpoint and obtain full administrator rights. Exposure is limited to installations that run the package and have deliberately created scoped-permission accounts; a default pfSense configuration is not affected, and no public exploit was identified at time of analysis. Leadership should care because a compromised firewall management plane can expose network segmentation and perimeter controls, but the prerequisites make this a contained rather than immediate enterprise-wide risk.
Restrict and audit the scoped settings-sync permission; remove it from non-administrative accounts; disable or uninstall the unofficial REST API package where not required; firewall REST API and HA sync endpoints to trusted management networks; review REST API ACLs and monitor for configuration-secret changes.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.
Insecure deserialization occurs when an application converts serialized data (a stream of bytes representing an object's state) back into a living object without proper validation.
EUVD-2026-107283
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB