CVE-2017-9022
High · 7.5CVSS
7.5
EPSS
1.7%
Published
Jun 8, 2017
CISA due date
—
Cloudanix analysis
Attackers can crash VPN software by sending bad certificates, briefly cutting off secure network connections until the service restarts.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Improper Input Validation
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The gmp plugin fails to validate RSA public key parameters before invoking mpz_powm_sec, allowing malformed certificates to trigger an unhandled floating-point exception that crashes the IKE daemon process.
Why it matters to the business
Remote denial-of-service against VPN gateways can interrupt encrypted site-to-site or remote-access tunnels, causing brief outages for users and services that rely on strongSwan; risk is low given the vulnerability's age and absence from known exploitation lists.
How an attack unfolds
An attacker acting as a remote IKE peer presents a crafted X.509 certificate containing an invalid RSA public key during the authentication phase; the gmp plugin passes the key directly to mpz_powm_sec, which raises a floating-point exception and terminates the charon process.
How to fix it
Upgrade strongSwan to 5.5.3 or newer; apply the corresponding security packages for Debian and Ubuntu once released for the affected releases.
How to confirm the fix worked
Confirm the installed strongSwan version is 5.5.3 or later; review package changelogs for the gmp-plugin fix and monitor daemon stability after restart.
Typical attack path
- Initiate an IKE handshake with a strongSwan gateway that has the gmp plugin enabled
- Supply a certificate whose RSA modulus or exponent triggers the missing validation path
- Force the call to mpz_powm_sec on the unvalidated key
- Induce floating-point exception and process termination
How to detect it
Search system and daemon logs for abrupt charon terminations accompanied by floating-point-exception signals during certificate processing; correlate with incoming IKE traffic from untrusted peers.
- floating point exception
- charon.*SIGFPE
- mpz_powm_sec
What your security team should do
- Prioritize patching strongSwan to 5.5.3+ on all internet-facing gateways
- Disable the gmp plugin if RSA operations can be performed by another backend
- Add process-monitoring alerts for unexpected charon terminations
The record
The gmp plugin in strongSwan before 5.5.3 does not properly validate RSA public keys before calling mpz_powm_sec, which allows remote peers to cause a denial of service (floating point exception and process crash) via a crafted certificate.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Alpine:v3.10 | strongswan | 0 | 5.5.3-r0 |
| Alpine:v3.11 | strongswan | 0 | 5.5.3-r0 |
| Alpine:v3.12 | strongswan | 0 | 5.5.3-r0 |
| Alpine:v3.13 | strongswan | 0 | 5.5.3-r0 |
| Alpine:v3.14 | strongswan | 0 | 5.5.3-r0 |
| Alpine:v3.15 | strongswan | 0 | 5.5.3-r0 |
| Alpine:v3.16 | strongswan | 0 | 5.5.3-r0 |
| Alpine:v3.17 | strongswan | 0 | 5.5.3-r0 |
| Alpine:v3.18 | strongswan | 0 | 5.5.3-r0 |
| Alpine:v3.19 | strongswan | 0 | 5.5.3-r0 |
| Alpine:v3.2 | strongswan | 0 | 5.3.5-r2 |
| Alpine:v3.20 | strongswan | 0 | 5.5.3-r0 |
| Alpine:v3.21 | strongswan | 0 | 5.5.3-r0 |
| Alpine:v3.22 | strongswan | 0 | 5.5.3-r0 |
| Alpine:v3.3 | strongswan | 0 | 5.3.5-r2 |
| Alpine:v3.4 | strongswan | 0 | 5.4.0-r2 |
| Alpine:v3.5 | strongswan | 0 | 5.5.3-r0 |
| Alpine:v3.6 | strongswan | 0 | 5.5.3-r0 |
| Alpine:v3.7 | strongswan | 0 | 5.5.3-r0 |
| Alpine:v3.8 | strongswan | 0 | 5.5.3-r0 |
| Alpine:v3.9 | strongswan | 0 | 5.5.3-r0 |
| Debian:11 | strongswan | 0 | 5.5.1-4 |
| Debian:12 | strongswan | 0 | 5.5.1-4 |
| Debian:13 | strongswan | 0 | 5.5.1-4 |
| Debian:7 | strongswan | 0 | 4.5.2-1.5+deb7u9 |
| Debian:8 | strongswan | 0 | 5.2.1-6+deb8u3 |
| SUSE:Linux Enterprise Desktop 12 SP2 | strongswan | 0 | 5.1.3-25.1 |
| SUSE:Linux Enterprise Server 11 SP4 | strongswan | 0 | 4.4.0-6.35.1 |
| SUSE:Linux Enterprise Server 12 SP2 | strongswan | 0 | 5.1.3-25.1 |
| SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 | strongswan | 0 | 5.1.3-25.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | strongswan | 0 | 4.4.0-6.35.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | strongswan | 0 | 5.1.3-25.1 |
| Ubuntu:14.04:LTS | strongswan | 0 | 5.1.2-0ubuntu2.6 |
| Ubuntu:16.04:LTS | strongswan | 0 | 5.3.5-1ubuntu3.3 |
| openSUSE:Tumbleweed | strongswan | 0 | 5.9.0-1.9 |
Related vulnerabilities
- CVE-2017-11185 The gmp plugin in strongSwan before 5.6.0 allows remote attackers to cause a denial of… Also affects strongswan
- CVE-2015-8023 The server implementation of the EAP-MSCHAPv2 protocol in the eap-mschapv2 plugin in… Also affects strongswan
- CVE-2015-4171 strongSwan 4.3.0 through 5.x before 5.3.2 and strongSwan VPN Client before 1.4.6, when… Also affects strongswan
- CVE-2014-9221 strongSwan 4.5.x through 5.2.x before 5.2.1 allows remote attackers to cause a denial of… Also affects strongswan
- CVE-2022-4967 strongSwan versions 5.9.2 through 5.9.5 are affected by authorization bypass through… Also affects strongswan
- CVE-2026-25075 strongSwan versions 4.5.0 prior to 6.0.5 contain an integer underflow vulnerability in… Also affects strongswan
- CVE-2025-9615 A flaw was found in NetworkManager. Also affects strongswan
- CVE-2025-62291 In the eap-mschapv2 plugin (client-side) in strongSwan before 6.0.3, a malicious… Also affects strongswan