OPNSense
opnsense.orgHardwareEnterprise firewall and router for protecting networks, built on the FreeBSD system.
- Homepage:opnsense.org
- GitHub:github.com/opnsense/core
- Web info:web-check.xyz/check/opnsense.org
OPNSense Source Code
Author
Description
OPNsense GUI, API and systems backend
Homepage
https://opnsense.org/Repository
- LicenseBSD-2-Clause
- Created13 Dec 14
- Primary languagePHP
- Size103,743 KB
- Stars4,712
- Forks1,001
- Watchers4,712
Top Contributors
@fichtner (9948)
@AdSchellevis (7722)
@swhite2 (731)
@Monviech (447)
@jschellevis (186)
@dotike (171)
@kulikov-a (141)
@MichaelDeciso (72)
@taguchi-ch (56)
@fabianfrz (53)
@NOYB (49)
@8191 (46)
@mimugmail (42)
@sopex (38)
@fraenki (28)
@maurice-w (28)
@pv2b (23)
@Greelan (21)
@opnsenseuser (14)
@peppelinux (14)
@vnxme (13)
@gitdevmod (12)
@jpawlowski (11)
@agh1467 (11)
@TomWalraven (10)
@nhirokinet (10)
@jsoref (9)
@fredronnv (9)
@evbevz (8)
@phpb-com (8)
@ypid (8)
@jfayre (8)
@Northguy (7)
@ljm42 (7)
@cbasolutions (7)
@gwjo (6)
@mmorev (6)
@Stephanowicz (6)
@chrisch1974 (6)
@djGrrr (6)
@doktornotor (6)
@soif (6)
@johnaheadley (5)
@lin-xianming (5)
@williamdes (5)
@pmhausen (5)
@dharrigan (5)
@kumy (4)
@bensmithurst (4)
@jakobsen-lrz (4)
@cbrueffer (4)
@n-thumann (3)
@Top-Cat (3)
@tangrs (3)
@tobiasdegen (3)
@0nnyx (3)
@noctarius (3)
@eljeffeg (3)
@Xeroxxx (3)
@stilez (3)
@noname12123 (3)
@oittaa (3)
@EugenMayer (3)
@GMazzocato (3)
@g-a-c (3)
@skazi0 (3)
@reitermarkus (3)
@Roy-Orbison (3)
@smopucilowski (3)
@tbandixen (3)
@jdeluyck (3)
@tomcheung789 (3)
@circa1665 (3)
@framer99 (3)
@haxorton (3)
@MaxOrelus (2)
@pksadiq (2)
@namezero111111 (2)
@xbb (2)
@planetf1 (2)
@oliverjueguen (2)
@ppmathis (2)
@Qhilm (2)
@Self-Hosting-Group (2)
@ServiusHack (2)
@thomasjsn (2)
@Tikimotel (2)
@trunet (2)
@brotherla (2)
@cs-1 (2)
@kuya1284 (2)
@mikahe (2)
@ndejong (2)
@ngreatorex (2)
@laozhoubuluo (2)
@juliocbc (2)
@IvanTheGeek (2)
@computeralex92 (2)
@agoodkind (2)
@criadoperez (2)
Recent Commits
Konstantinos Spartalis(07 Oct 26)
VPN: IPsec: Deprecate IKEv1 (#10925)
Ad Schellevis(07 Oct 26)
Firewall: NAT: Destination NAT - fix "Warning: Undefined variable $port in .."
Franco Fichtner(07 Oct 26)
interfaces: remove direct $config access and improve device handover in legacy apply
Franco Fichtner(07 Oct 26)
interfaces: remove PPTP support; closes #10973 To ease future migrations from PPP to MVC/API and reduce the config field "localip" misuse we want to phase out PPTP and reduce complexity of the implementation. While L2TP may be still around the PPTP tunneling is very likely not used anymore. A bit of a message to everyone still using this. Only one way to find out.
Stephan de Wit(07 Oct 26)
Revert "interfaces: fallback here to prevent php warnings" This reverts commit cda3b2f717fce26add61c147d1da0b0a0812c3eb. these are stored by default now after save
Stephan de Wit(07 Oct 26)
interfaces: fallback here to prevent php warnings PHP Warning: Undefined array key "localip" in /usr/local/etc/inc/interfaces.inc on line 1192 PHP Warning: Undefined array key "gateway" in /usr/local/etc/inc/interfaces.inc on line 1196
Stephan de Wit(07 Oct 26)
reporting: unbound: capitalize DNSSEC status column header
Franco Fichtner(06 Oct 26)
interfaces: backend call for interfaces_ppps_configure(); closes #9352
Stephan de Wit(06 Oct 26)
gateways: null is not going to be a UUID either ErrorException: Using null as an array offset is deprecated, use an empty string instead in /usr/local/opnsense/mvc/app/controllers/OPNsense/Routing/Api/SettingsController.php:162 Stack trace:
Franco Fichtner(06 Oct 26)
interfaces: priv-sep script for interface apply the legacy way #9352
Franco Fichtner(06 Oct 26)
interfaces: remove system_routing_configure() #9352 The function is called via $reload hook so adding another hook makes no sense. This may have changed since the original commit below and since we need to priv-sep these calls the easiest way is to remove it. ;) See also: https://github.com/pfsense/pfsense/commit/8e11b23f541d
Franco Fichtner(06 Oct 26)
system: $config is unused in core.inc
Franco Fichtner(06 Oct 26)
interfaces: move legacy apply to /var/lib/php/tmp for #9352
Jorio(06 Oct 26)
reporting: unbound: add dnssec status column in details grid (#10940) Fixes https://github.com/opnsense/core/issues/10704 --------- Co-authored-by: Stephan de Wit <[email protected]>
Franco Fichtner(06 Oct 26)
firewall: less parenthesis for previous
Ad Schellevis(06 Oct 26)
Firewall: Aliases - deny invalid port ranges, closes https://github.com/opnsense/core/issues/10954
Ad Schellevis(06 Oct 26)
VPN: OpenVPN: Instances - improve keepalive validation, mentioned in https://github.com/opnsense/core/pull/10174
Ad Schellevis(06 Oct 26)
VPN: OpenVPN: Instances - default keepalive to 10 60 in server mode and explain in the help text. closes https://github.com/opnsense/core/pull/10174
Franco Fichtner(06 Oct 26)
src: style sweep
Franco Fichtner(06 Oct 26)
system: refactor route deletion and use priv-sep in general settings page #9352 (#10962)
Franco Fichtner(06 Oct 26)
system: make "noroot" the standard option with 27.1 #9352 As discussed internally, we want to aim for this to be the new standard, but we will not migrate any existing setups just yet. This may need more documentation/annotation for components (mostly legacy plugins) where this won't work, but it's a very good start to root these out via user reports.
ExpRam(06 Oct 26)
interfaces: remove stale VIP address after update (#10883)
Franco Fichtner(06 Oct 26)
mvc: also fix overrides of reconfigureForceRestart() regarding return type
Ad Schellevis(05 Oct 26)
Firewall: NAT: Destination NAT - fix destination for no-rdr rules, related to https://github.com/opnsense/core/pull/10945 Reported by: @fa1k3
Ad Schellevis(05 Oct 26)
lockout: type safety fix.
Franco Fichtner(05 Oct 26)
interfaces: add proper local/remote IP support to PPPoE IPCP; closes #10966 I added the remotenet field specifically so that we can do a remote IP /32 selection for people with HA issues getting the wrong gateway from the ISP.
IvanTheGeek(01 Oct 26)
monit: log from the first line, reconfigure through the base class The local reconfigureAction() only started or reloaded monit when the whole output of "monit -t" was exactly "Control file syntax OK", so the first Apply on a new install ("New Monit id: ...") and any deprecation warning left monit stopped or not reloaded while reporting "ok". Drop it, and checkAction(), in favor of ApiMutableServiceControllerBase. Move "set log" to the top of monitrc: monit only logs a parse error after it has parsed "set log", so an invalid control file now leaves its reason in the monit log, whether rc refused the reload or monit refused to start. Fixes https://github.com/opnsense/core/issues/10928
Ad Schellevis(04 Oct 26)
Config: missing chown in backup call to prevent backend processes leaving unaccessible files for the frontend. closes https://github.com/opnsense/core/pull/10963
Franco Fichtner(03 Oct 26)
mvc: trailing commas are cool so let's keep them
Franco Fichtner(03 Oct 26)
mvc: PortField: always return a string for normalizedPort()
OPNSense Security
Security Advisories (31)
- mediumPatchedCVSS 4.3
GHSA-x3q7-cc7h-gj3vPassword-policy lock is cleared by an empty-password Save on system_usermanager_passwordmg.php (CWE-863/696)
- mediumPatchedCVSS 5.3
GHSA-jjm2-jg4p-3v9qAudit log injection via login username in auth_log()
- lowUnpatched
GHSA-9h93-hhcx-957cMultiple cross-site scripting (XSS) in OPNsense 26.7.1_1 Architecture amd64 08d6a7847
- mediumPatchedCVSS 5.4
GHSA-864r-q4j5-5mjqCaptive Portal roaming authorizes attacker-controlled IPs through forged ARP bindings
- mediumPatchedCVSS 4.8
GHSA-6vv6-fpw9-8r2gCertificate and CA descriptions render unescaped in the wireless EAP selectors on interfaces.php
- mediumPatchedCVSS 6.5
GHSA-fqmm-g6xw-qhm4OpenVPN session kill endpoint executes arbitrary management protocol commands through unvalidated `session_id` (delegated status user to daemon control)
- mediumPatchedCVSS 5.2
GHSA-75fw-j788-j4hjStored XSS via Unsafe Attribute Construction and `info` Field HTML Insertion
- mediumPatchedCVSS 5.3
GHSA-h4qj-j2x9-q553Unauthenticated lighttpd request-body disk exhaustion
- highPatchedCVSS 7.6
GHSA-vw8q-pqq7-2q7vManual Config::save() paths bypass user-config-readonly enforcement
- mediumPatchedCVSS 5.9
GHSA-rw63-4hw9-p4v7OpenVPN Client Export Utility users can export private keys for unlisted certificate refs
- mediumPatchedCVSS 6.3
GHSA-jm2f-ch62-rpxrMultiple Stored XSS
- highPatchedCVSS 7.1
CVE-2026-71490Direct comma-separated user privileges bypass OPNsense MVC read-only write protection
- highPatchedCVSS 8.1
CVE-2026-63442Log Forgery via Login Username CRLF in WebGUI Authentication → Pf Table IP Blocking
- mediumPatchedCVSS 5.2
CVE-2026-58394Stored XSS in Administration Settings via Certificate Description
- mediumPatchedCVSS 4.3
CVE-2026-58395XPath injection in MVC safe-delete
- mediumPatchedCVSS 5.4
CVE-2026-58392Stored XSS in Services: NTP GPS
- mediumPatchedCVSS 5.4
CVE-2026-58391Stored XSS in Firewall Rules/NAT pages via a HTML-attribute breakout
- criticalPatchedCVSS 9.9
CVE-2026-57155Root RCE via Arbitrary File Write in GeoIP Alias Importer
- highPatchedCVSS 8
CVE-2026-58390Stored XSS to root RCE via OpenVPN client common_name in status views
- highPatchedCVSS 8.1
GHSA-m4m3-v627-wgc2 Stored Cross-Site Scripting (XSS) via TrafficShaper description in legacy PHP firewall rules page
- mediumPatchedCVSS 5.9
CVE-2026-58393OpenVPN Client Specific Override common_name allows path traversal in generated CSO files
- highPatchedCVSS 8.1
GHSA-33q4-wcv7-r8frTrust certificate and CA refids allow path traversal during IPsec file generation
- highPatchedCVSS 8.1
CVE-2026-57154Configuration line injection via multiple GUI text fields
- highPatchedCVSS 7.1
CVE-2026-53582XPATH Injection can disclose any secret in config.xml
- criticalPatchedCVSS 9
CVE-2026-53581ntp: write path traversal
- criticalPatchedCVSS 9.1
CVE-2026-44194RCE on user managment
- criticalPatched
CVE-2026-45158Command Injection via Attacker-Controlled DHCP Config
- criticalPatchedCVSS 9.1
CVE-2026-44193RCE via XMLRPC endpoint using `opnsense.restore_config_section` method
- mediumPatchedCVSS 5.3
CVE-2026-44195Authentication lockout bypass
- highPatchedCVSS 8.2
CVE-2026-34578LDAP Injection via Unsanitized Username in Authentication
- mediumPatchedCVSS 6.3
CVE-2026-30868Cross-Site Request Forgery (CSRF) in opnsense/core
OPNSense Website
Website
OPNsense® is an open source, feature rich firewall and routing platform, offering cutting-edge network protection. - OPNsense
We’ve made digital security accessible to everyone. With our free OPNsense® platform, you get all the features of expensive commercial firewalls and more. Enjoy open and verifiable sources in a product developed with and for a large user community.
Redirects
Does not redirect
Security Checks
All 65 security checks passed
Server Details
- IP Address89.149.225.137
- LocationAmsterdam,Noord-Holland,Netherlands (Kingdom of the),EU
- ISPLeaseweb Netherlands B.V.
- ASNAS60781
Associated Countries
US
NL
Safety Score
Website marked as safe
100%
Trackers
Loads 2 third-party trackers
- google-analytics.comGoogle Analytics
- googletagmanager.comGoogle Ads
Blacklist Check
opnsense.org was found on 0 blacklists
- AntiSocial Blacklist
- Artists Against 419
- Badbitcoin
- Bambenek Consulting
- CERT Polska
- CoinBlockerLists
- CRDF
- CryptoScamDB
- EtherAddressLookup
- EtherScamDB
- Fake Website Buster
- MetaMask EthPhishing
- NABP Not Recommended Sites
- OpenPhish
- PetScams
- PhishFeed
- PhishFort
- Phishing.Database
- PhishStats
- PhishTank
- Phishunt
- RPiList Not Serious
- Scam.Directory
- SecureReload Phishing List
- Spam404
- StopGunScams
- Suspicious Hosting IP
- ThreatFox
- ThreatLog
- TweetFeed
- URLhaus
- ViriBack C2 Tracker
Website Preview
OPNSense Reviews
More Firewalls
AFWall+
(Android - Rooted)
xdaforums.com/t/5-0-root-3-6-0-afwall-iptables-firewall-28-aug-2023.1957231Android Firewall+ (AFWall+) is an advanced iptables editor (GUI) for rooted Android devices, which provides very fine-grained control over which Android apps are allowed to access the network.
BunkerWeb is an open-source Next-Generation Web Application Firewall (WAF). It provides easy protection for your web services and is designed to remain secure by default. It integrates seamlessly with modern environments (Docker, Kubernetes, Linux, etc.).
Open source GUI firewall for Linux, allowing you to block internet access for certain applications. Supports both simple and advanced mode, GUI and CLI options, very easy to use, lightweight/ low-overhead, under active maintenance and backed by a strong community.
IPFire is a hardened, versatile, state-of-the-art Open Source firewall based on Linux. Easy to install on a raspberry Pi, since it is lightweight and heavily customizable.
A very polished application firewall, allowing you to easily manage internet connections on a per-app basis. (Mac OS)
Not Open SourceFirewall app for iPhone, allowing you to block any connection to any domain.
Not Open SourceFree, open source macOS firewall. It aims to block unknown outgoing connections, unless explicitly approved by the user.
Provides simple and advanced ways to block access to the internet. Applications and addresses can individually be allowed or denied access to Wi-Fi and/or mobile connection.
Makes internet connections from all apps visible, allowing you to block or manage traffic on a per-app basis. GNU/Linux port of the Little Snitch application firewall.
An open-source ad-blocker and firewall app for Android 6+ (does not require root).
An open source firewall tool for Linux that builds upon the Netfilter system built into the Linux kernel, making it easier to manage more complex configuration schemes with iptables.
Tool to control Windows Filtering Platform (WFP), in order to configure detailed network activity on your PC. (Windows)
The ufw (Uncomplicated Firewall) is a GUI application and CLI, that allows you to configure a firewall using
iptablesmuch more easily.
About the Data: OPNSense
Change History
Edit OPNSense Data
You can edit OPNSense's entry in this section of awesome-privacy.yml by submitting a PR to our GitHub repo.
Note that some of the information shown above has been aggregated from external
sources, a list of these can be found data documentation.
Origin Data
Modify Data
API
You can access OPNSense's data programmatically via our API. Simply make a GET request to:
https://api.awesome-privacy.xyz/v1/services/opnsenseThe REST API is free, no-auth and CORS-enabled. To learn more, view the API Docs or read the API Usage Guide.
Share OPNSense
Help your friends compare Firewalls, and pick privacy-respecting software and services.
Share OPNSense and Awesome Privacy with your network!