Security Advisories

Published strongSwan Vulnerabilities / CVEs

strongSwan Vulnerability (CVE-2026-78134)

A vulnerability in the eap-peap and eap-ttls plugins related to the propagation of authentication details from inner EAP methods was discovered that can result in incorrect identity binding and potential authorization bypass. All versions since 4.5.0 are affected.

Because the IKE or EAP-Identity is used for authorization decisions (e.g. config selection in the ike-auth task), the missing or mismatched inner EAP identity means the SA could be bound to an incorrect and unauthenticated identity. So a client could impersonate another user by e.g. claiming ownership of their identity during the outer EAP-Identity exchange, while authenticating with their own identity during the tunneled EAP exchange.

The IKE/EAP identity is also used for other decisions like uniqueness checks or virtual IP assignment. So the vulnerability may allow a client to kick out another and claim their virtual IP.

Note that the attacker must be able to authenticate successfully with valid credentials.

Remote code execution is not possible due to this issue.

As mentioned in the introduction, credit to Puru Kulkarni (puru1761) for finding this vulnerability and reporting it responsibly.

Mitigation

Servers that don't accept EAP authentication are not vulnerable.

Servers that don't use EAP-PEAP or EAP-TTLS are not vulnerable (e.g. if the plugins are not loaded or a different EAP method is configured explicitly). To avoid that clients can select these methods via EAP-Nak, make sure that either the eap-dynamic plugin is not used or loaded, or that the two vulnerable plugins are not loaded so they can't be instantiated by the eap-dynamic plugin.

Setups that provide EAP via a RADIUS server are also not directly vulnerable. However, they could be vulnerable to similar identity binding issues.

The just released strongSwan 6.1.0 fixes this vulnerability. For older releases, we provide patches that fix the vulnerability and should apply with appropriate hunk offsets. Please note that we don't provide patches for versions prior to 5.3.0 as they lack the eap_method_t::get_auth() method.