CVE-2026-25998: strongMan vulnerable to private credential recovery due to key and counter reuse
strongMan is a management interface for strongSwan, an OpenSource IPsec-based VPN. When storing credentials in the database (private keys, EAP secrets), strongMan encrypts the corresponding database fields. So far it used AES in CTR mode with a global database key. Together with an initialization vector (IV), a key stream is generated to encrypt the data in the database fields. But because strongMan did not generate individual IVs, every database field was encrypted using the same key stream. An attacker that has access to the database can use this to recover the encrypted credentials. In particular, because certificates, which have to be considered public information, are also encrypted using the same mechanism, an attacker can directly recover a large chunk of the key stream, which allows them to decrypt basically all other secrets especially ECDSA private keys and EAP secrets, which are usually a lot shorter. Version 0.2.0 fixes the issue by switching to AES-GCM-SIV encryption with a random nonce and an individually derived encryption key, using HKDF, for each encrypted value. Database migrations are provided to automatically re-encrypt all credentials.
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2026-25998?
CVE-2026-25998 is rated as a high severity vulnerability due to its potential to expose sensitive credentials stored in the database.
How do I fix CVE-2026-25998?
To fix CVE-2026-25998, upgrade strongMan to version 0.2.0 or later, where this vulnerability has been addressed.
What types of data are affected by CVE-2026-25998?
CVE-2026-25998 affects private keys and EAP secrets stored in the strongMan database.
What is the nature of the encryption issue in CVE-2026-25998?
CVE-2026-25998 involves the use of AES in CTR mode with a global database key, which can lead to vulnerabilities in the encryption of sensitive data.
Which versions of strongMan are vulnerable to CVE-2026-25998?
Versions of strongMan prior to 0.2.0 are vulnerable to CVE-2026-25998.