Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate with any single affected module privilege
-
DeliveryCraft malicious safe-delete token
-
ExploitSend to one of 21 delete endpoints
-
ExecutionUnvalidated token interpolated into config.xml XPath
-
ImpactError response leaks cross-module config and acts as oracle
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization XPath expression sanitization
|
| Exploitation Conditions | Requires an authenticated OPNsense user (PR:L) holding at least one of the affected module privileges - Traffic Shaper, DHCP relay, Dnsmasq, Firewall Category, or Kea DHCP - who can then reach any of the 21 affected delete endpoints backed by ApiMutableModelControllerBase::delBase(). No special non-default configuration or user interaction is needed, but exploitation is strictly limited to instances running a version prior to 26.1.11 and to accounts that already possess at least one of those module privileges; the flaw yields a read-only configuration oracle and cannot modify config or delete data, which bounds its impact to confidentiality. |
| Impact | This is a genuine but modest-severity information-disclosure issue, correctly rated 4.3 (medium). The CVSS vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N is internally consistent with the description: network-reachable API (AV:N), trivial crafting of a token (AC:L), requires an authenticated user holding at least one affected module privilege (PR:L), no user interaction (UI:N), and limited confidentiality impact with no integrity or availability effect (C:L/I:N/A:N) - matching the statement that the request neither modifies configuration nor performs a deletion. No EPSS score, KEV listing, or POC flag was provided in the input, so exploitation probability signals are absent rather than low; no public exploit identified at time of analysis. The practical risk is cross-module configuration reconnaissance: an XPath injection (CWE-643) turns 21 delete endpoints into a substring-presence oracle leaking item names, descriptions, reference paths, and UUIDs even for modules the account cannot normally access. This is an authenticated privilege-boundary bypass useful for lateral discovery, not a standalone critical flaw - real priority is driven by whether low-privilege operator accounts exist on an OPNsense instance. The hackerask.com reference and two fix commits are the only external corroboration; there is no indication of active exploitation. |
| Exploit ScenarioDerived | A low-privileged OPNsense operator who has been granted only a single module privilege (for example Dnsmasq or DHCP relay) sends a crafted safe-delete token to one of the 21 affected delete endpoints. Because the token is interpolated into an XPath query over config.xml before validation, the resulting error response reveals configuration item names, descriptions, reference paths, and UUIDs from modules the operator is not authorized to see, and the endpoint can be used iteratively as a substring-presence oracle. No public exploit code was identified in the provided data, though the fix commits publicly disclose the vulnerable code path. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 15, 2026
Authenticated OPNsense users who hold at least one affected module privilege can supply a crafted safe-delete token that is interpolated into an XPath query over config.xml, letting them read configuration metadata from modules they are not authorized to access. The flaw, tracked as CVE-2026-58395, affects OPNsense releases prior to 26.1.11 and yields a substring-presence oracle that leaks configuration item names, descriptions, reference paths, and UUIDs, though it cannot modify configuration or delete data. It is a read-only information-disclosure issue rated 4.3 medium; no public exploit code identified at time of analysis, and CISA KEV does not list it.
RemediationAI
Upgrade OPNsense to version 26.1.11 or later, which applies the identifier validation in ApiMutableModelControllerBase::delBase() and prevents the injection; full details are in GitHub Security Advisory GHSA-98h6-479q-9q3w (https://github.com/opnsense/core/security/advisories/GHSA-98h6-479q-9q3w) and the fixing commits 631e14721b311badc1d3c0d29321e4d42585156b and d7054cef69f72588feac1091254960835be19dfe. If immediate upgrade is not possible, reduce exposure by enforcing least privilege: audit OPNsense user accounts and remove any privileges for Traffic Shaper, DHCP relay, Dnsmasq, Firewall Category, and Kea DHCP from users who do not need them, since exploitation requires an account holding one of those module privileges - this shrinks the attack surface at the cost of restricting legitimate administrative workflows. Restrict GUI/API access to the management interface to trusted networks or a VPN (rather than exposing it to the internet), and monitor web logs for abnormal DELETE requests to /api/ paths containing XPath-like metacharacters as a detection measure, though such monitoring is detective rather than preventive.
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 issue is an XPath injection (CWE-643: Improper Neutralization of Data within XPath Expressions) inside OPNsense's PHP MVC framework. Specifically, ApiMutableModelControllerBase::delBase() reaches checkAndThrowValueInUse(), which interpolates a safe-delete token taken from the request URL directly into an XPath expression evaluated against the firewall's config.xml before verifying that the token is a well-formed identifier. Because the token is not sanitized first, an attacker can inject XPath syntax so the expression matches configuration nodes across unrelated modules, and the application's error response differs depending on whether the injected substring is present - turning error output into a blind substring-presence oracle. The upstream patch (commits 631e14721b311badc1d3c0d29321e4d42585156b and d7054cef69f72588feac1091254960835be19dfe) adds an identifier allowlist check, preg_match('/^[0-9a-z\-]{1,255}$/i', $token), that throws a UserException on malformed input before any XPath evaluation occurs. The affected surface spans 21 delete endpoints backed by delBase() across the Traffic Shaper, DHCP relay, Dnsmasq, Firewall Category, and Kea DHCP modules.
Know when Opnsense 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:L/I:N/A:N
Network API reachable (AV:N) and token trivially crafted (AC:L), but needs an authenticated account with a module privilege (PR:L); read-only cross-module leak gives C:L, with no integrity or availability impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
OPNsense is a FreeBSD based firewall and routing platform. Prior to version 26.1.11, the safe-delete path reached through ApiMutableModelControllerBase::delBase() interpolates an unvalidated safe-delete token from the request URL into an XPath expression over config.xml before confirming that the token is a valid identifier. A user holding any one affected module privilege can send a crafted token to one of 21 affected delete endpoints covering Traffic Shaper, DHCP relay, Dnsmasq, Firewall Category, or Kea DHCP, causing the XPath to match configuration data across modules. The resulting error response exposes configuration item names, descriptions, reference paths, and UUIDs and provides an XPath substring-presence oracle, including for modules the user cannot otherwise access. The request does not modify configuration or perform a deletion. This issue is fixed in version 26.1.11.
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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Insecure permissions in the configuration directory (/conf/) of OPNsense Community Edition before 23.7 and Business Edit
DECISO OPNsense 23.1 does not impose rate limits for authentication, allowing attackers to perform a brute-force attack
A command injection vulnerability in the component /api/cron/settings/setJob/ of OPNsense Community Edition before 23.7
A command injection vulnerability in the component diag_backup.php of OPNsense Community Edition before 23.7 and Busines
/ui/cron/item/open in the Cron component of OPNsense Community Edition before 23.7 and Business Edition before 23.4.2 al
OPNsense Community Edition before 23.7 and Business Edition before 23.4.2 was discovered to contain insecure permissions
Insecure permissions exist for configd.socket in OPNsense Community Edition before 23.7 and Business Edition before 23.4
A directory traversal vulnerability in the Captive Portal templates of OPNsense Community Edition before 23.7 and Busine
A Cross-Site Request Forgery (CSRF) in the System Halt API (/system/halt) of OPNsense Community Edition before 23.7 and
OPNsense 19.1 contains a stored cross-site scripting vulnerability that allows authenticated attackers to inject malicio
OPNsense 19.1 contains a stored cross-site scripting vulnerability in the system_advanced_sysctl.php endpoint that allow
OPNsense 19.1 contains a reflected cross-site scripting vulnerability that allows unauthenticated attackers to inject ma
EUVD-2026-102116
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB