OpenVPN, strongSwan, libreswan and WireGuard vulnerabilities in router, gateway and industrial remote-access firmware fall into three groups: memory and state bugs in the VPN daemons (strongSwan 6.1.0 fixed eleven on 2026-09-07), authentication flaws in plugins and certificate handling, and weak shipped defaults such as IKEv1 Aggressive Mode with a pre-shared key. To act on them, find which stack and version the image ships, check which plugins and modes are enabled, rank by reachability, then upgrade, backport and harden the defaults.
Key takeaways
- Because the VPN daemon is often the only service a device deliberately exposes to the internet.
- Read the package database, confirm against the binaries, then record the build variant and the enabled modes.
- The ones a remote peer can reach before or during authentication, the ones that break authentication itself, and the ones in plugins your build actually loads.
- Each project publishes its own list, and the format tells you how to automate tracking.
Why do VPN components matter in embedded firmware?
Because the VPN daemon is often the only service a device deliberately exposes to the internet. A branch router, a 4G/5G industrial gateway or a machine builder's remote-access box listens on UDP 500 and 4500 for IKE, on 1194 for OpenVPN or on 51820 for WireGuard, and it has to parse packets from anyone before it knows who they are. Several of the bugs below sit exactly there: strongSwan's CVE-2023-41913 advisory describes a stack buffer overflow reachable through "a specially crafted and unauthenticated IKE_SA_INIT message", and libreswan's CVE-2026-77206 advisory says a malicious IKE_AUTH packet can crash pluto without the peer being authenticated.
Embedded images also tend to carry these components as prebuilt packages from a feed, not as code the device maker reviews. On OpenWrt and the many vendor SDKs derived from it, OpenVPN, strongSwan and libreswan come from the community packages feed and WireGuard comes from the kernel, so the version a product ships is whatever the feed or SDK held when the firmware was frozen.
How do you find which VPN stack and version an image ships?
Read the package database, confirm against the binaries, then record the build variant and the enabled modes. The order matters because package versions on OpenWrt-style images can lag or lead the upstream release, and the binary is what actually runs.
Unpack the imageExtract the SquashFS, UBIFS or ext4 root file system. If parts will not unpack, our firmware entropy analysis guide covers telling encryption from compression. Read the package databaseOlder OpenWrt-based images keep installed packages in the opkg status file, /usr/lib/opkg/status; OpenWrt's build system for current releases writes an apk database under/lib/apk/; Debian-based gateways use/var/lib/dpkg/status. Look foropenvpn-openssl,openvpn-mbedtlsoropenvpn-wolfssl,strongswan-*packages (strongswan-charon,strongswan-mod-*),libreswan,wireguard-toolsandkmod-wireguard.Confirm OpenVPN from the binaryOpenVPN's source defines its title string from the package name and version, so the openvpnbinary containsOpenVPN 2.x.y, the same textopenvpn --versionprints. The OpenWrt openvpn Makefile builds three variants, OpenSSL, mbedTLS and wolfSSL, with mbedTLS as the default variant, which matters for the CVE-2026-63650 entry below and for the TLS library's own CVEs.Confirm strongSwan from the binarycharon's start-up log line is compiled with the version inlined, so stringson thecharonbinary showsStarting IKE charon daemon (strongSwan 6.x.y. The strongSwan advisory index also notes thatswanctl --versionoripsec versionprints the installed version on a live device. List the plugin libraries (libstrongswan-*.so) because most strongSwan CVEs live in one plugin.Confirm libreswan from the binarypluto logs Starting Pluto (Libreswan Versionwith the version as a separate string, so look for that text and the version number near it, or runipsec --versionon a live unit.Find WireGuard in the kernelLook for wireguard.kounder the kernel modules directory, or forCONFIG_WIREGUARD=yin the kernel configuration if the image embeds it. The module version is useless for CVE matching: the kernel's WireGuard version header fixes it at1.0.0, and the module logsWireGuard 1.0.0 loadedon every kernel. Track the kernel version instead. A version such as1.0.20220627means the out-of-tree wireguard-linux-compat backport, which exists for kernels 3.10 to 5.5 because WireGuard was merged into Linux 5.6; its newest tag is v1.0.20220627.Record the modes in useIn swanctl.conf,ipsec.confor OpenWrt's/etc/config/ipsec, note the IKE version,aggressive, the authentication method (PSK, certificates, EAP type) and the proposals. In OpenVPN configurations, notetls-crypt-v2,secret,data-ciphers,cipher,compress,auth-user-pass-verifyand anypluginlines. In libreswan, notelisten-tcpand whether any connection uses IKEv1.
The result is one row per device: component, version, build variant, loaded plugins and enabled modes. Our Yocto and Buildroot SBOM guide shows how to capture the same facts at build time, where they are exact rather than inferred.
Which OpenVPN, strongSwan, libreswan and WireGuard CVEs matter?
The ones a remote peer can reach before or during authentication, the ones that break authentication itself, and the ones in plugins your build actually loads. The table covers representative CVEs from each project's own advisories; "Needs" is the condition that makes it reachable.
| CVE | Component | Issue | Needs | Fixed in |
|---|---|---|---|---|
| CVE-2026-78133 | strongSwan libcharon | Use-after-free in IKEv2 rekey collision with multiple key exchanges | 6.0.0 or later; authenticated peer | 6.1.0 |
| CVE-2026-78135 | strongSwan libcharon | Usable Child SA before authentication completes | 5.9.7 or later | 6.1.0 |
| CVE-2026-47895 | strongSwan libstrongswan | Double-free when cloning certain identities | 4.3.3 or later | 6.0.7 |
| CVE-2025-62291 | strongSwan eap-mschapv2 | Heap overflow on the client from a Failure Request | eap-mschapv2 plugin, client role | 6.0.3 |
| CVE-2023-41913 | strongSwan charon-tkm | Stack overflow from an unauthenticated IKE_SA_INIT | charon-tkm build | 5.9.12 |
| CVE-2018-16151, -16152 | strongSwan gmp plugin | Potential authorization bypass in signature verification | gmp plugin | 5.7.0 |
| CVE-2026-35058 | OpenVPN server | ASSERT crash from a crafted packet with a tls-crypt-v2 key | tls-crypt-v2 on the server |
2.6.20, 2.7.2 |
| CVE-2025-13086 | OpenVPN server | Inverted HMAC cookie check, source address validation broken | 2.6.0 to 2.6.15 | 2.6.16 |
| CVE-2026-84790 | OpenVPN | Identity and authentication bypass via embedded NUL in certificate subject | 2.3.0 to 2.7.7 | 2.7.8 |
| CVE-2026-63650 | OpenVPN mbedTLS backend | --x509-username-field ignored, Common Name used instead |
2.7 built with mbedTLS | 2.7.6 |
| CVE-2022-0547 | OpenVPN server | Authentication bypass with several deferred-auth plug-ins | More than one deferred-auth plug-in | 2.4.12, 2.5.6 |
| CVE-2026-94453 | libreswan pluto | Use-after-free with IKE-over-TCP, before peer authentication | listen-tcp=yes |
5.3.3, 5.4.1 |
| CVE-2026-77206 | libreswan pluto | Pre-authentication NULL dereference in EAP code | Any IKEv2 connection, 4.7 to 5.4 | 5.3.3, 5.4.1 |
| CVE-2024-3652 | libreswan pluto | IKEv1 responder crash on a bogus AES-GMAC proposal | IKEv1 connection without esp= |
4.15, 5.0 |
| CVE-2026-99059 | Linux WireGuard | Race lets a duplicated handshake response reuse session state | Kernel WireGuard | Kernel stable releases |
strongSwan. Most strongSwan CVEs are in a plugin or in libcharon's IKEv2 state machine, so a build that does not load the plugin is not reachable. The 6.1.0 release notes list eleven fixes in PKCS#7, X.509 attribute certificate, EAP-AKA, EAP-PEAP/TTLS and libcharon code, and credit "improvements in AI-assisted security analysis" for finding them. Two are protocol-level: the CVE-2026-78135 advisory explains that libcharon did not reject CREATE_CHILD_SA requests on unestablished IKE SAs, which "can allow an unauthenticated peer to potentially establish a usable Child SA", and the CVE-2026-78133 advisory describes a use-after-free in multi-KE rekey collisions that an authenticated peer could exploit for remote code execution. On the client side, the CVE-2025-62291 advisory shows why EAP plugins matter on gateways that dial out: a 6 to 8 byte EAP-MSCHAPv2 Failure Request causes an integer underflow and, depending on compiler options, a heap overflow.
OpenVPN. The OpenVPN Security Announcements page lists each CVE with a short description; many recent entries are Windows-only (interactive service, ovpn-dco-win, tapctl) and do not apply to Linux firmware. The ones that do concentrate in the server's control channel and authentication. The CVE-2026-35058 announcement explains that a crafted packet carrying a valid tls-crypt-v2 client key can trigger an ASSERT and crash the server, and that "setups that do not use tls-crypt-v2 are not affected". The CVE-2026-84790 announcement covers impersonation through a crafted certificate subject in versions 2.3.0 through 2.7.7, which matters for any gateway that maps certificate names to users or configurations. Older plugin-related flaws still turn up in long-lived images: the CVE-2022-0547 announcement describes access granted "with only partially correct credentials" when more than one plug-in uses deferred authentication.
libreswan. The libreswan CVE table lists mostly denial-of-service bugs in pluto, the IKE daemon, each with a vulnerable range and a signed advisory. Several are reachable before authentication, and a crash-restart loop on a remote-access gateway is an outage for every connected site. The CVE-2026-94453 advisory adds that remote code execution "could be possible", and that only configurations with listen-tcp=yes are affected.
WireGuard. The Linux module has a small CVE history, assigned by the Linux kernel CNA and fixed through stable releases, such as the handshake race fixed by this stable commit for CVE-2026-99059. In device firmware the larger WireGuard risk is the code around it. NVD records command injection in the WireGuard configuration of the TP-Link ER7206 (CVE-2023-46683) and in the WireGuard VPN feature of InHand Networks IR302, IR305, IR315 and IR615 routers (CVE-2026-38704, CVSS 9.8, root privileges). RTOS products that use a separate WireGuard implementation inherit its bugs instead of the kernel's: Zephyr's GHSA-x7q7-fjx9-4vj2 advisory describes peer state changed before the anti-replay check, which let a replayed packet redirect the tunnel. Our embedded TCP/IP stack guide covers the network stacks underneath such implementations.
Because all of these daemons rely on a TLS or crypto library, check that library too: our OpenSSL vulnerabilities and mbedTLS and wolfSSL vulnerabilities guides cover the libraries behind OpenWrt's three OpenVPN variants.
Where does each project publish security advisories?
Each project publishes its own list, and the format tells you how to automate tracking.
| Project | Where advisories live | What each entry gives you |
|---|---|---|
| strongSwan | strongswan.org/security and the release blog | First affected version, fixed version, patch per release, OSV JSON record and an index of all records |
| OpenVPN 2.x | Security Announcements on the community wiki | Affected range, fixed release, CVE record and release notes link |
| libreswan | libreswan.org/security | Vulnerable and not-vulnerable versions, workaround, patches, PGP-signed text |
| WireGuard (Linux) | Kernel stable releases; CVEs from the Linux kernel CNA | Fixing commit per stable branch; no project-level advisory page |
| WireGuard tools | wireguard.com and the wireguard-tools repository | Userspace wg tool releases, separate from the kernel module |
Support windows matter as much as the list. The OpenVPN supported versions page puts 2.7 in full stable support and 2.6 in old-stable support (security and critical fixes) until August 2027, with end of life in August 2028; 2.5 and older are unsupported. As of 2026-11-13 the newest releases are OpenVPN 2.7.9 (5 November 2026, whose security fixes are all Windows-specific) and 2.6.23, strongSwan 6.1.0, and libreswan 5.4.1.
How should you prioritise VPN CVEs in a device?
Rank by reachability first: does the device run the daemon as a server or a client, is it reachable from the internet, and are the affected plugin and mode enabled? Then look at exploitation data, and use CVSS only to break ties. Data as of 2026-11-12 (CISA KEV catalog version 2026.11.10, FIRST EPSS scores dated 2026-11-12):
| CVE | In KEV | EPSS (percentile) | Typical priority |
|---|---|---|---|
| CVE-2026-38704 (InHand WireGuard page) | No | 0.013 (70th) | Critical on affected IR300 and IR600 series units: root via the VPN configuration |
| CVE-2026-78135 (strongSwan) | No | 0.004 (37th) | High on any internet-facing strongSwan responder from 5.9.7 |
| CVE-2026-78133 (strongSwan) | No | 0.005 (41st) | High on 6.0.x gateways that use multiple key exchanges (for example post-quantum hybrids) |
| CVE-2026-94453, CVE-2026-77206 (libreswan) | No | 0.005 (40th), 0.007 (52nd) | High on remote-access gateways: pre-authentication crash, 94453 only with listen-tcp=yes |
| CVE-2026-35058 (OpenVPN) | No | 0.005 (46th) | High on servers using tls-crypt-v2; not affected otherwise |
| CVE-2026-84790 (OpenVPN) | No | 0.001 (4th) | High where certificate names select users or per-client configuration |
| CVE-2022-0547 (OpenVPN) | No | 0.035 (89th) | High on servers with more than one deferred-auth plug-in; not affected otherwise |
| CVE-2023-41913 (strongSwan) | No | 0.023 (83rd) | Critical with charon-tkm, which few embedded builds use; otherwise not affected |
| CVE-2025-62291 (strongSwan) | No | 0.010 (63rd) | Medium on gateways that dial out with EAP-MSCHAPv2 |
No CVE in this guide was in CISA's KEV catalog in its 2026.11.10 release, and no KEV entry names strongSwan, libreswan, OpenVPN or WireGuard as the vendor or product. The 40 KEV entries that mention VPN are all commercial products, led by Cisco (12), Fortinet (6) and Citrix (5), which is a reminder that exploitation follows exposure: an open-source daemon on a gateway faces the same internet as those appliances. Use the scores as a sort order inside the reachable set, as our KEV and EPSS prioritisation guide explains, not as a reason to skip a pre-authentication bug.
Feeds lag too. As of 2026-11-13 the OpenWrt packages feed builds strongSwan 6.0.7 according to its strongswan Makefile, and its patch directory carries three non-security patches, so a product built from it carries all eleven issues fixed in 6.1.0. The same feed's libreswan Makefile builds 4.12, which falls inside the vulnerable ranges of nine libreswan advisories, including CVE-2024-3652, CVE-2026-77206 and CVE-2026-94453. Its OpenVPN package is 2.7.8, which already has every non-Windows fix to date.
Which weak VPN defaults should a device maker remove?
The ones that make an attack offline, unauthenticated or invisible. They are configuration rather than code, so a version upgrade does not remove them.
| Weak default | Why it is weak | Replace with |
|---|---|---|
| IKEv1 Aggressive Mode with a PSK | The PSK hash is sent in the clear and can be attacked offline | IKEv2 with certificates, or IKEv2 PSK with a long random per-device key |
| IKEv1 in general | Older, larger code path; several libreswan crashes are IKEv1-only | IKEv2 only (strongSwan 6.1.0 defaults to it) |
| One PSK shared across a product line | Extracting it from one unit opens every unit | Per-device keys or certificates provisioned at manufacture |
OpenVPN static-key mode (secret) |
No forward secrecy; removed by default in OpenVPN 2.7 | TLS mode, with peer-fingerprint if a PKI is too heavy |
| BF-CBC or other 64-bit block ciphers | SWEET32 plaintext recovery | AES-GCM or ChaCha20-Poly1305 in data-ciphers |
| OpenVPN compression | Compression oracles (VORACLE) | No compression; OpenVPN 2.7 never compresses on send |
| Shell-built VPN configuration from web input | Command injection as root | Strict validation and argument arrays instead of shell strings |
IKE. strongSwan's strongswan.conf reference names the Aggressive Mode setting i_dont_care_about_security_and_use_aggressive_mode_psk and says it is "strongly discouraged due to security concerns (offline attacks on the openly transmitted hash of the PSK)". On OpenWrt, a single UCI option sets it: the feed's swanctl init script writes that setting when a connection has aggressive enabled, so check /etc/config/ipsec rather than only the generated files. strongSwan 6.1.0 goes further: IKEv1 is disabled by default, must be built with --enable-ikev1, and version defaults to 2.
OpenVPN. The OpenVPN Changes.md for 2.7 says static key mode "is no longer considered good and secure enough" and is removed by default, available only with --allow-deprecated-insecure-static-crypto. The SWEET32 announcement lists BF, DES and RC2 ciphers as ones that "should no longer be used"; OpenVPN 2.5 already dropped BF-CBC from the default cipher set. An image that still ships a 2.4-era configuration with cipher BF-CBC and comp-lzo keeps both weaknesses after an upgrade unless the configuration changes too.
WireGuard. WireGuard has no cipher setting: the protocol page lists one fixed set of primitives (ChaCha20-Poly1305, Curve25519, BLAKE2s, HKDF). Its weak defaults are about keys and the front end: private keys generated once and copied into every image, keys readable by non-root processes, and web pages that pass peer names or endpoints to a shell. Our hard-coded credentials and command injection guides cover both fixes.
How does a device maker patch and harden VPN components?
Upgrade or backport, remove what the product does not use, harden the defaults, then rebuild and verify.
Upgrade or backport. Move to strongSwan 6.1.0, OpenVPN 2.7.9, libreswan 5.4.1 or 5.3.3, and a supported kernel stable release for WireGuard. Where a full upgrade is too large, strongSwan publishes a patch for each advisory and libreswan links patches from each CVE row, so a backport is a defined task. On OpenVPN's 2.6 old-stable branch, check each announcement for a 2.6 fix: the CVE-2026-84790 announcement names only 2.7.8 as fixed, and the newest 2.6 release, 2.6.23, came out before it. Record each backport in the SBOM or a VEX statement, because the version string will still show the old base; our CSAF VEX for device makers guide shows the format.
Remove what is unused. Build strongSwan without plugins the product does not need, especially EAP methods, charon-tkm and PKCS#7 handling; the 6.1.0 release notes also recommend leaving its removed plugins disabled on older releases. Ship only one VPN stack if the product needs only one. Leave libreswan's listen-tcp off unless IKE-over-TCP is required, and avoid multiple OpenVPN deferred-auth plug-ins.
Harden the defaults. Ship IKEv2 only, with per-device certificates or per-device random keys; never ship Aggressive Mode or a shared PSK. For OpenVPN, ship TLS mode with tls-crypt or tls-crypt-v2 on a patched release, AEAD ciphers only and no compression, and verify certificate names against the right field. Our weak cryptography guide covers cipher and key-size choices.
Rebuild, re-scan, release. Regenerate the firmware SBOM, confirm the shipped binaries carry the new versions, and diff against the previous release; our firmware diffing and patch analysis guide covers checking that a backport really landed. For WireGuard, the check is the kernel: our Linux kernel CVEs guide covers tracking stable releases on a vendor kernel. Then publish the affected and fixed firmware versions for each CVE so operators of remote-access gateways can plan the update.
AI-assisted analysis: what the automated scan does
SoftWSP's automated scan unpacks a firmware image, catalogs the software components in the extracted file system, and identifies OpenVPN, strongSwan, libreswan and WireGuard-related packages by name and version. It then matches those versions against CVE records, CISA's KEV catalog and FIRST's EPSS scores. This is deterministic code: the code scores, and AI narrates.
AI's part is the written explanation on top of that matching. It summarises which VPN CVEs matched, which are KEV-listed or have a high EPSS score, and what the version evidence was, and every sentence cites the component, version and record it relies on. An engineer reviews every finding before the report is delivered. The judgements this guide describes as manual stay with that engineer: which strongSwan plugins and OpenVPN options are active, whether IKEv1 or a shared PSK is configured, which kernel a WireGuard module belongs to, and whether a vendor backport already closes a matched CVE.
For where VPN review fits in a full assessment, see the OWASP Firmware Security Testing Methodology guide, or device & firmware security services to have a specific image reviewed.
This guide draws on the strongSwan, OpenVPN and libreswan security advisories and release notes, OpenVPN's Changes.md and supported-versions page, strongSwan's strongswan.conf reference, the WireGuard protocol and compilation pages, the wireguard-linux-compat repository, Linux kernel source and stable commits, the Zephyr security advisories, OpenWrt package Makefiles and init scripts, NVD, CISA's KEV catalog (version 2026.11.10) and FIRST EPSS data dated 2026-11-12, all read directly on 2026-11-13.
Put this guide to work
Frequently asked questions
Which OpenVPN, strongSwan and WireGuard vulnerabilities matter most in router and gateway firmware?
Three groups. First, memory and state bugs in the daemons that an unauthenticated or barely authenticated peer can reach: strongSwan 6.1.0 (2026-09-07) fixed eleven at once, including a rekey-collision use-after-free (CVE-2026-78133) and a Child SA created before authentication (CVE-2026-78135), and OpenVPN 2.6.20 and 2.7.2 fixed a tls-crypt-v2 server crash (CVE-2026-35058). Second, authentication flaws in plugins and certificate handling, such as OpenVPN's deferred-auth plugin bypass (CVE-2022-0547) and its embedded-NUL certificate subject bypass (CVE-2026-84790). Third, weak shipped defaults, above all IKEv1 Aggressive Mode with a pre-shared key and OpenVPN static-key mode, plus command injection in the vendor web pages that configure the VPN.
How do I find which VPN component and version a firmware image ships?
Unpack the root file system and read the package database first: the opkg status file on older OpenWrt-based images, the apk database on OpenWrt 25.12 builds, or the dpkg status file on Debian-based images. Then confirm from the binaries. OpenVPN embeds a title string that starts with "OpenVPN" and the version, charon embeds "Starting IKE charon daemon (strongSwan" followed by the version, and libreswan's pluto logs "Starting Pluto (Libreswan Version". For WireGuard, look for the wireguard.ko kernel module or a built-in CONFIG_WIREGUARD. The in-tree module always reports version 1.0.0, so the kernel version is what you track.
Is WireGuard safer than OpenVPN or IPsec in an embedded device?
Its protocol has fewer settings to get wrong: WireGuard uses one fixed set of primitives (ChaCha20-Poly1305, Curve25519, BLAKE2s) with no cipher option, and the Linux implementation ships with the kernel. In device firmware, though, the WireGuard CVEs on record are mostly elsewhere: command injection in vendor pages that configure WireGuard (for example CVE-2026-38704 in InHand IR300 and IR600 series routers, CVSS 9.8), separate implementations such as Zephyr's WireGuard stack, and kernel race fixes such as CVE-2026-99059. Treat the kernel version, the web front end and the key handling as the attack surface.
Where do OpenVPN, strongSwan, libreswan and WireGuard publish security advisories?
strongSwan lists every CVE with affected and fixed versions on strongswan.org/security, plus OSV records. OpenVPN lists announcements on its community wiki's Security Announcements page. libreswan publishes a CVE table with signed text advisories on libreswan.org/security. WireGuard on Linux has no separate advisory page: fixes land in the kernel and the Linux kernel CNA assigns the CVEs, so track it through kernel stable releases.
Does SoftWSP check the VPN components in my firmware?
SoftWSP's automated scan identifies OpenVPN, strongSwan, libreswan and WireGuard-related packages, with their versions, from the unpacked firmware file system, and matches those versions against CVE records, CISA's KEV catalog and FIRST EPSS scores. AI then writes a plain-language summary that cites the component, version and record behind every finding, and an engineer reviews it. Judging which plugins and protocol modes are enabled, and whether a vendor backport already closes a matched CVE, is part of that engineer review rather than an automatic verdict.
Sources
- strongSwan: Security Advisories (all CVEs with affected and fixed versions)
- strongSwan 6.1.0 released (eleven vulnerabilities fixed, IKEv1 disabled by default), 2026-09-07
- strongSwan advisory CVE-2026-78133: use-after-free during multi-KE rekey collision
- strongSwan advisory CVE-2026-78135: Child SA creation before authentication
- strongSwan advisory CVE-2025-62291: eap-mschapv2 Failure Request buffer overflow
- strongSwan advisory CVE-2023-41913: charon-tkm DH public value buffer overflow
- strongSwan documentation: strongswan.conf reference (aggressive mode PSK setting)
- OpenVPN community wiki: Security Announcements
- OpenVPN announcement CVE-2026-35058: server ASSERT with tls-crypt-v2
- OpenVPN announcement CVE-2026-84790: authentication bypass via embedded NUL in certificate subject
- OpenVPN announcement CVE-2026-63650: mbedTLS backend ignores x509-username-field
- OpenVPN announcement CVE-2025-13086: HMAC cookie verification check
- OpenVPN announcement CVE-2022-0547: authentication bypass with multiple deferred auth plug-ins
- OpenVPN and SWEET32 (64-bit block ciphers such as BF-CBC)
- OpenVPN: VORACLE attack and OpenVPN (compression)
- OpenVPN community wiki: Supported versions
- OpenVPN community wiki: Release history
- OpenVPN Changes.md at v2.7.9 (static key mode removal, default data ciphers)
- libreswan: Security information and list of libreswan CVEs
- libreswan advisory CVE-2026-94453: IKEv2 use-after-free with IKE-over-TCP
- libreswan advisory CVE-2026-77206: IKEv2 pre-authentication NULL pointer dereference in EAP code
- WireGuard: Protocol and cryptography
- WireGuard: Compilation from source code (kernel requirements)
- wireguard-linux-compat: WireGuard kernel module backport for Linux 3.10 to 5.5
- Linux kernel source: drivers/net/wireguard/version.h
- Linux stable commit: wireguard: noise: reject response consumption after intermediate initiation (CVE-2026-99059)
- Zephyr security advisory GHSA-x7q7-fjx9-4vj2: WireGuard peer state mutated before anti-replay check
- OpenWrt packages feed: strongswan Makefile
- OpenWrt packages feed: strongswan swanctl init script (aggressive option)
- OpenWrt packages feed: openvpn Makefile (openssl, mbedtls and wolfssl variants)
- OpenWrt packages feed: libreswan Makefile
- OpenWrt: wireguard-tools package Makefile
- NIST NVD: CVE-2026-38704 (InHand Networks WireGuard VPN command injection)
- NIST NVD: CVE-2023-46683 (TP-Link ER7206 WireGuard configuration command injection)
- CISA: Known Exploited Vulnerabilities (KEV) Catalog
- FIRST: Exploit Prediction Scoring System (EPSS)
About this guide
SoftWSP Firmware Security Desk
Covers the Firmware vulnerabilities & fixes cluster: 116 guides.

In this cluster
Questions about this page?
