{"answers":{"affected":"It affects 1 product.","exploited":"There is no known exploitation of CVE-2026-16516 in the wild and no public exploit code.","fix":"No fix has been published for CVE-2026-16516 yet. Limit exposure of the affected software until one is available.","what":"CVE-2026-16516 is a critical vulnerability in wolfSSL Inc. wolfSSH, published on 7 Oct 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-16516 and fix it if it is affected.\n\nWhat it is: CVE-2026-16516 is a critical vulnerability in wolfSSL Inc. wolfSSH, published on 7 Oct 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-16516 in the wild and no public exploit code.\n\nAffected product: wolfSSL Inc. wolfSSH. 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-16516/ (Markdown: https://insights.sbomify.com/CVE-2026-16516/index.md)","id":"CVE-2026-16516","markdown":"https://insights.sbomify.com/CVE-2026-16516/index.md","name":"CVE-2026-16516","record":{"aliases":["GHSA-c487-h25j-24jq"],"analysis":{"component_type":"library","fix_type":"patch","impacts":["security_bypass","account_takeover"],"network_reachable":"yes","non_default_config":true,"product_category":"SSH library","requires_auth":"none","summary":"An active man-in-the-middle attacker can bypass SSH host key verification by substituting ECDSA curves, potentially leading to session hijacking if lax key checks are used.","user_interaction":"not_required","vuln_class":"security_feature_bypass"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"wolfSSL","cpe":[{"product":"wolfssh","vendor":"wolfssh"}],"cvss":{"score":9,"severity":"critical","source":"cna","vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:H/VA:N/SC:L/SI:H/SA:N","version":"4.0"},"cwes":[{"id":"CWE-345","name":"Insufficient Verification of Data Authenticity"}],"description":"wolfSSH does not validate that the ECDSA curve identifier in a KEXDH_REPLY host key blob matches the algorithm negotiated during key exchange. In ParseECCPubKey() (src/internal.c), the blob's algorithm string is used to derive the curve via NameToId/wcPrimeForId without checking against the negotiated ssh-\u003ehandshake-\u003epubKeyId, and the RFC 5656 curve identifier string is discarded via GetSkip() rather than compared. An active network man-in-the-middle attacker can substitute a host key blob containing a different ECDSA curve, causing the client to import the key on the wrong curve. Because the attacker controls the private key for the substituted curve, signature verification passes. Exploitation requires an active MitM position and a lax public key check callback (e.g., TOFU, algorithm-name-only check, or fingerprint match against the parsed key).","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":"wolfSSH ECDSA host key curve not validated against negotiated algorithm","id":"CVE-2026-16516","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":null,"products":[],"type":"security_feature_bypass","year":"2026"},"n_packages":0,"n_references":2,"next":{"headline":"Libarchive: libarchive: signed integer overflow in archive_write_zip_header","id":"CVE-2026-16517"},"packages":[],"prev":{"headline":"Denial of service in zephyr","id":"CVE-2026-16515"},"products":["wolfSSH"],"published":"2026-10-07","related":[{"cvss_score":9.8,"headline":"Integer overflow in n/a","id":"CVE-2022-32073","kev_date_added":null,"published":"2022-07-13"},{"cvss_score":9.4,"headline":"Authentication Bypass","id":"CVE-2025-14942","kev_date_added":null,"published":"2026-01-06"},{"cvss_score":9.4,"headline":"Host verification bypass and credential leak","id":"CVE-2025-11625","kev_date_added":null,"published":"2025-10-21"},{"cvss_score":9.1,"headline":"User authentication bypass in wolfSSH server","id":"CVE-2024-2873","kev_date_added":null,"published":"2024-03-25"},{"cvss_score":7.7,"headline":"wolfSSHd on Windows race condition leading to logon token reused across connections","id":"CVE-2026-83540","kev_date_added":null,"published":"2026-10-07"},{"cvss_score":6.9,"headline":"Denial of service in wolfSSH","id":"CVE-2026-84897","kev_date_added":null,"published":"2026-10-07"}],"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":"no","exploitation":"none","technical_impact":"partial"},"state":"PUBLISHED","updated":"2026-10-07","vendors":["wolfSSL Inc."]},"summary":"An active man-in-the-middle attacker can bypass SSH host key verification by substituting ECDSA curves, potentially leading to session hijacking if lax key checks are used.","url":"https://insights.sbomify.com/CVE-2026-16516/"}