Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate with restricted System:Firmware API key
-
ExploitStore crafted mirror URL via POST /api/core/firmware/set
-
ExecutionFetch firmware info, triggering opnsense-update eval of mirror
-
ImpactExecute arbitrary commands as root on the firewall
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization OS command sanitization, avoid shell exec
MITRE ATT&CK
2 techniques across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires an authenticated OPNsense account or API key that holds the 'System: Firmware' privilege (PR:H) - no root password, SSH access, or unrestricted administrator account is needed. The concrete trigger is storing a mirror URL containing shell command-substitution metacharacters through POST /api/core/firmware/set, which survives input validation on unpatched versions; the injected command runs the next time firmware information is requested (POST→GET /api/core/firmware/info) or whenever the firmware WebUI page loads, because opnsense-update -M's mirror_abi() evaluates the stored value with |
| Impact | This is a genuine high-priority issue rather than CVSS-score inflation. The CVSS 4.0 vector (CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H, 8.6) describes a network-reachable, low-complexity flaw whose only real gate is authentication: PR:H confirms the attacker must be authenticated, specifically holding the 'System: Firmware' privilege. The signals are internally consistent - high confidentiality/integrity/availability impact (full root command execution on a firewall appliance) with no user interaction, offset by the credential requirement. A publicly documented, reporter-verified proof of concept exists in the vendor GHSA advisory (GHSA-p683-f7x2-pm4p) and is referenced by VulnCheck and abraxaslabs, so exploitability is not theoretical. However, there is no EPSS score in the supplied data and no CISA KEV listing, so there is no evidence of active or widespread exploitation at time of analysis - the vuln.today 'this_week' decision label reflects a serious-but-not-emergency priority. The practical risk is highest for OPNsense deployments that delegate the firmware privilege or issue scoped API keys, because this flaw lets such a limited account escalate to root and persist (the payload re-executes whenever firmware info is fetched or the firmware WebUI page loads). |
| Exploit ScenarioDerived | An authenticated user or API key holding only the restricted 'System: Firmware' privilege submits a firmware mirror URL containing shell command-substitution syntax via POST /api/core/firmware/set. When firmware information is next retrieved (via /api/core/firmware/info or by loading the firmware WebUI page), opnsense-update's mirror_abi() passes the stored value through |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 30, 2026
Command injection in OPNsense firmware management (fixed in 26.7.8 and 26.10) lets an authenticated user holding only the 'System: Firmware' privilege store a crafted firmware mirror URL through POST /api/core/firmware/set, which the backend later evaluates as shell code the next time firmware information is retrieved or the firmware WebUI page loads - resulting in arbitrary command execution with root privileges. A related sed-injection path lets the same restricted account disable package signature verification. The vendor advisory includes a full proof-of-concept reproduction on OPNsense Community Edition 26.7.7; a public PoC reference exists, it is not verified as working exploit code, and no active exploitation is confirmed at time of analysis.
RemediationAI
Vendor-released patch: upgrade to OPNsense 26.7.8 (with 26.10 also carrying the fix for the opnsense-update package). The fix is two-part and both sides must land: the core model mask in Firmware.xml rejecting literal double quotes and pipe characters (commit 1cc41fc39da99d59818c789b3b561f1515126f47, with related commit 8e214533d33c3af7481e86f616ee615adc6a0a73) and removal of the eval in mirror_abi() in favour of a sed substitution limited to ${ABI} in opnsense-update (commit 9bfd3b7020499b6032ee64804193a9f3ce8178fa). Until the appliance is upgraded, exposure is bounded by the prerequisite itself: the flaw is only reachable by an account or API key holding the 'System: Firmware' privilege, so that privilege should be limited to fully trusted administrators and API keys with it should be rotated or revoked; resetting the firmware mirror field to the distribution default also clears any payload already stored in the configuration, at the cost of losing custom mirror settings. These are stopgaps only - the vendor patch is the complete remediation. Advisory: https://github.com/opnsense/core/security/advisories/GHSA-p683-f7x2-pm4p; additional detail at https://www.vulncheck.com/advisories/opnsense-before-26.7.8-root-command-injection-via-firmware-mirror-setting and https://abraxaslabs.tech/research/opnsense-firmware-mirror-sed.
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
OPNsense's firmware settings are modelled by the MVC model src/opnsense/mvc/app/models/OPNsense/Core/Firmware.xml, whose 'mirror' field was a plain TextField with no character masking. When firmware information is requested, the backend shells out to 'opnsense-update -M', and the mirror_abi() function in src/update/opnsense-update.sh.in expanded the stored value using 'eval MIRROR="${MIRROR}"' - an inherited FreeBSD pkg design choice. Because command-substitution syntax such as $(...) survives validation and is stored as configuration, the eval turns attacker-controlled data into a root-privileged shell command, which is CWE-78 (improper neutralisation of special elements used in an OS command). The same unvalidated value also flowed into a sed expression, giving a second injection path that can switch off package signature verification. The upstream fixes are a Mask of /[^|"]+/ on the mirror field (rejecting literal double quotes and pipe characters) and removal of the eval in mirror_abi() in favour of an explicit sed substitution limited to ${ABI}. The affected component is tracked as cpe:2.3:a:opnsense:core and the opnsense-update package.
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
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Network API, low complexity, no user interaction; PR:L because it needs an authenticated but restricted non-admin firmware privilege; root OS command execution yields high C/I/A.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
OPNsense before 26.7.8 contains a command injection vulnerability that allows authenticated users with the System: Firmware privilege to execute commands as root by storing a malicious firmware mirror URL. Attackers can submit shell metacharacters through POST /api/core/firmware/set that opnsense-update evaluates with eval, and can also disable package signature verification through sed injection.
Technical POC Analysis
CWE-78 (OS command injection) in OPNsense's firmware mirror handling.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
OPNsense firmware management contains a high-severity command injection flaw that allows a user with only firmware administration rights to execute commands as root. This means a relatively low-privileged insider or compromised account could gain full control of the firewall, potentially disrupting network security and exposing sensitive data. Leadership should prioritize patching because OPNsense is often a critical perimeter defense, and exploitation could undermine the entire security posture.
Apply vendor patch.
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
OS command injection occurs when an application passes unsanitized user input directly into system shell commands.
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-113793
GHSA-q3x8-9859-gj9r
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB