{"answers":{"affected":"It affects 1 product.","exploited":"There is no known exploitation of CVE-2026-25998 in the wild and no public exploit code.","fix":"No fix has been published for CVE-2026-25998 yet. Limit exposure of the affected software until one is available.","what":"CVE-2026-25998 is a high-severity vulnerability in strongswan strongMan, published on 19 Feb 2026. An attacker can exploit it over the internet without logging in, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2026-25998 and fix it if it is affected.\n\nWhat it is: CVE-2026-25998 is a high-severity vulnerability in strongswan strongMan, published on 19 Feb 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.\nExploitation: There is no known exploitation of CVE-2026-25998 in the wild and no public exploit code.\n\nAffected product: strongswan strongMan. No package-level version data is available, so check the vendor advisory linked from the reference page.\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-25998/ (Markdown: https://insights.sbomify.com/CVE-2026-25998/index.md)","id":"CVE-2026-25998","markdown":"https://insights.sbomify.com/CVE-2026-25998/index.md","name":"CVE-2026-25998","record":{"aliases":["GHSA-88w4-jv97-c8xr"],"analysis":{"component_type":"server_software","fix_type":"upgrade","impacts":["data_read"],"network_reachable":"yes","non_default_config":false,"product_category":"strongSwan management interface","requires_auth":"none","summary":"An attacker with database access can recover private keys and secrets due to IV reuse in strongMan's encryption implementation.","user_interaction":"not_required","vuln_class":"weak_cryptography"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[{"product":"strongman","vendor":"strongswan"}],"cvss":{"score":8.7,"severity":"high","source":"cna","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","version":"4.0"},"cwes":[{"id":"CWE-323","name":"Reusing a Nonce, Key Pair in Encryption"},{"id":"CWE-1204","name":"Generation of Weak Initialization Vector (IV)"}],"description":"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.","ecosystems":[],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"none_known"},"has_fix":false,"headline":"strongMan vulnerable to private credential recovery due to key and counter reuse","id":"CVE-2026-25998","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":null,"products":[],"type":"weak_cryptography","year":"2026"},"n_packages":0,"n_references":1,"next":{"headline":"Klaw has an improper authorisation check on /resetMemoryCache","id":"CVE-2026-25999"},"packages":[],"prev":{"headline":"FreeRDP has heap-use-after-free in xf_clipboard_format_equal","id":"CVE-2026-25997"},"products":["strongMan"],"published":"2026-02-19","related":[],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"US public information, NVD API terms","name":"NVD"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"yes","exploitation":"none","technical_impact":"partial"},"state":"PUBLISHED","updated":"2026-02-20","vendors":["strongswan"]},"summary":"An attacker with database access can recover private keys and secrets due to IV reuse in strongMan's encryption implementation.","url":"https://insights.sbomify.com/CVE-2026-25998/"}