Description
Net::LibSSH versions before 0.004 for Perl authenticate to an unverified server because connect never checks the host key against known_hosts.

connect reports success as soon as ssh_connect returns SSH_OK. libssh leaves the known-hosts check to the application, and this binding never makes it, so the strict_hostkeycheck and knownhosts options are set on the session and then decide nothing.

Password, agent and public-key authentication, channel and SFTP operations all run on a session whose peer was never identified, so an attacker who can redirect the connection receives the password when password authentication is used, and commands and data sent over the session.
Published: 2026-10-21
Score: 9.1 Critical
EPSS: < 1% Very Low
KEV: No
Impact: Authentication Bypass (Credential Theft and Remote Command Execution)
Action: Immediate Patch
AI Analysis

Impact

Net::LibSSH versions prior to 0.004 do not verify the host key when establishing an SSH session. The connect routine declares success as soon as libssh reports SSH_OK, while the binding never performs a known‑hosts check. Consequently, any authentication method – password, agent or public‑key – proceeds without identifying the peer. An attacker who can redirect the client connection to a malicious server can capture the password used for authentication and can also send and receive data over the session, potentially executing arbitrary commands.

Affected Systems

All installations of the Perl module Net::LibSSH that use a version earlier than 0.004 are affected. Any Perl application or script that relies on this library for SSH connectivity is at risk while using these vulnerable releases.

Risk and Exploitability

The lack of host key verification results in a high‑risk authentication bypass that can lead to credential theft and command execution on the client system. The CVSS score of 9.1 indicates critical severity. Exploitation requires the attacker to redirect or intercept the SSH connection, which is feasible for network adversaries that control traffic to the client. The vulnerability carries a CWE-322 identifier, an EPSS score of < 1%, and is not listed in the CISA KEV catalog, but the potential impact warrants urgent attention.

Generated by OpenCVE AI on October 30, 2026 at 20:32 UTC.

Remediation

Vendor Solution

Upgrade to Net-LibSSH 0.004 or later.


OpenCVE Recommended Actions

  • Upgrade to Net-LibSSH 0.004 or later
  • If upgrading is not immediately possible, modify the application to perform host key verification by checking the returned host key against the known‑hosts database before continuing authentication
  • Restrict outbound SSH connections to trusted servers with firewall rules or network segmentation to limit the ability of an attacker to redirect connections

Generated by OpenCVE AI on October 30, 2026 at 20:32 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 30 Oct 2026 18:30:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 9.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N'}

ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Thu, 22 Oct 2026 11:00:00 +0000

Type Values Removed Values Added
First Time appeared Getty
Getty net::libssh
Vendors & Products Getty
Getty net::libssh

Thu, 22 Oct 2026 01:30:00 +0000

Type Values Removed Values Added
References

Wed, 21 Oct 2026 21:30:00 +0000

Type Values Removed Values Added
Description Net::LibSSH versions before 0.004 for Perl authenticate to an unverified server because connect never checks the host key against known_hosts. connect reports success as soon as ssh_connect returns SSH_OK. libssh leaves the known-hosts check to the application, and this binding never makes it, so the strict_hostkeycheck and knownhosts options are set on the session and then decide nothing. Password, agent and public-key authentication, channel and SFTP operations all run on a session whose peer was never identified, so an attacker who can redirect the connection receives the password when password authentication is used, and commands and data sent over the session.
Title Net::LibSSH versions before 0.004 for Perl authenticate to an unverified server because connect never checks the host key against known_hosts
Weaknesses CWE-322
References

Subscriptions

Getty Net::libssh
cve-icon MITRE

Status: PUBLISHED

Assigner: CPANSec

Published:

Updated: 2026-10-30T17:22:58.601Z

Reserved: 2026-09-21T15:32:37.782Z

Link: CVE-2026-94423

cve-icon Vulnrichment

Updated: 2026-10-22T00:16:44.795Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-21T22:16:50.480

Modified: 2026-10-30T18:18:20.440

Link: CVE-2026-94423

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-30T20:45:15Z

Weaknesses
  • CWE-322

    Key Exchange without Entity Authentication