- Top reward
- $1,500
- Top severity paid
- Critical
- Assets in scope
- 9
- Public CVEs
- 45
- Last change
- No changes yet
At a glance
What to know before you start testing.
- Pays from $1,500
- for critical bugs.
- Report on Sorona
- Submit through the program page.
- Partial safe harbor
- Some legal protection; read the terms.
- Publish after a fix
- Coordinate the timing with the company.
Rewards
What Sorona lists as the payout for each severity.
| Severity | Relative size | Reward |
|---|---|---|
| Critical | $1,500+ | |
| High | $700+ | |
| Medium | $300+ | |
| Low |
|
$100 $100 / 1 month Claude Max |
- Safe harbor
-
Partial
Sorona will not pursue legal action against you for good-faith research submitted to us in line with this policy. We cannot speak for the upstream project, its vendor, or any third party, and we do not grant authorization on their behalf.
Summarised with AI from the program policy on Sorona, read 12 Nov 2026, and checked word for word against it. Read the original
Scope
9 assets you may test, 6 excluded.
Web 1
- https://www.libssh.org
Products and areas 8
- [email protected] takes any not-yet-public security issue in libssh, and the maintainers fix privately, ship a numbered release and publish an advisory. Both halves of the library are in: the client implementation and the server implementation
- Key, certificate and known_hosts parsing, and the host-key verification callbacks that decide whether a client trusts the server it reached
- Memory safety in the transport layer, where a length or padding value taken off the wire drives a copy, a MAC check or a decompression step
- Pre-authentication packet handling on both sides: banner and version exchange, binary packet framing, and key exchange before any credential has been checked
- The authentication methods in full, covering public key, keyboard-interactive, password and GSSAPI, including the paths that report success or failure back to the caller
- The callback and options API surface, where an embedding application supplies its own authentication handlers and libssh decides what to do with their answers
- The channel, SFTP and port-forwarding layers, where a peer controls sizes, request identifiers and filenames after the session is up
- The server-side authentication state machine, where a client-supplied message sequence can drive a session into an authenticated state without valid credentials
Out of scope (6)
- Application-side API misuse: an embedding application that ignores a return value or wires its own authentication callback to always succeed
- Defects that actually live in a linked crypto backend such as OpenSSL, mbedTLS or libgcrypt rather than in libssh
- libssh2, which is a different project with a different codebase despite the name, and has its own upstream and its own scope row
- One-line fixes for non-exploitable crashes, which the Patch Rewards rules will not reward, including crashes that come from resource exhaustion
- OpenSSH, which is unrelated code and sits on its own Tier 1 row
- Patches the maintainers decline, patches under one month or over twelve months old, and anything past three submissions a person a month
Rules
What the policy asks of you, and the bug types it won't reward, quoted from Sorona's policy.
While testing
-
Submit through sorona.xyz.
-
Send a detailed, reproducible report to the libssh security address; if the maintainers cannot reproduce it, it is not eligible
-
Say whether the bug is on the client side, the server side or both
-
Give the maintainers room to ship a release and publish an advisory before any public writeup
-
Hold the detail until that release is out.
Not accepted
-
One-line fixes for non-exploitable crashes
-
crashes that come from resource exhaustion
-
Application-side API misuse
-
Defects that actually live in a linked crypto backend
Summarised with AI from the program policy on Sorona, read 12 Nov 2026, and checked word for word against it. Read the original
Changes
Tracked since 11 Nov 2026. Last checked 1 hour ago.
No changes yet. When the rewards or scope move, you will see it here and in the RSS feed.
Public CVEs
Published vulnerabilities in this vendor's products, from the NVD.
| CVE | Summary | Severity | Published |
|---|---|---|---|
| CVE-2026-59849 | A flaw was found in libssh. Logic errors in automatic certificate-based public key authentication can cause libssh clients to loop indefinitely when configured certificates are missing or repeatedly rejected by a server, leading to denial of service. | Low 3.1 | 21 Jul 2026 |
| CVE-2026-59850 | A flaw was found in libssh. If data packets are processed after a channel is closed, channel data callbacks can be invoked after the associated data has already been freed, leading to crashes or possible use-after-free conditions. | Medium 4.3 | 21 Jul 2026 |
| CVE-2026-59851 | A flaw was found in libssh. On servers with GSSAPIKeyExchange enabled, the gssapi-keyex path does not verify whether the authenticated Kerberos principal is authorized for the requested local user, allowing authenticated clients to log in as arbitrary users. | High 8.8 | 21 Jul 2026 |
| CVE-2026-59847 | A flaw was found in libssh. Incorrect AES-GCM finalization checks in builds using the OpenSSL backend can effectively remove integrity protection, allowing an in-path attacker to modify plaintext on the wire without detection. | Medium 5.9 | 21 Jul 2026 |
| CVE-2026-59848 | A flaw was found in libssh. A malicious SFTP server can send responses for unknown request IDs that libssh clients keep queued indefinitely, causing unbounded memory growth and client-side denial of service. | Medium 5.3 | 21 Jul 2026 |
| CVE-2026-59846 | A flaw was found in libssh. A malicious username expanded through %r in ProxyCommand handling can inject shell metacharacters, exposing environment variables and causing unintended shell behavior. | Low 3.9 | 21 Jul 2026 |
| CVE-2026-59842 | A flaw was found in libssh. During server-side GSSAPI key exchange, a client-supplied Curve25519 public key shorter than the expected length is copied without proper length validation, leading to an out-of-bounds heap read. This could allow a remote unauthenticated attacker to disclose small amounts of server memory. | Low 3.7 | 21 Jul 2026 |
| CVE-2026-59843 | A flaw was found in libssh. A remote authenticated peer can advertise a zero maximum packet size in SSH_MSG_CHANNEL_OPEN, causing later channel writes to loop indefinitely and consume CPU, leading to denial of service. | Medium 6.5 | 21 Jul 2026 |
| CVE-2026-59844 | A flaw was found in libssh. A remote authenticated client can issue SSH_FXP_READ requests with an arbitrarily large length, causing a libssh SFTP server to allocate excessive memory and potentially exhaust it through repeated requests. | Medium 6.5 | 21 Jul 2026 |
| CVE-2026-59845 | A flaw was found in libssh. When ProxyCommand is used, an unchecked fork() failure can be stored as process ID -1; during cleanup, signals may then be sent across the caller's accessible process tree, leading to local denial of service. | Medium 5.3 | 21 Jul 2026 |
| CVE-2026-15370 | A flaw was found in libssh. During SFTP server directory listing, the longname field is constructed with unsafe concatenation into a fixed-size stack buffer. When a client causes the server to list attacker-controlled filenames, sufficiently long names can overflow that stack buffer and may lead to crashes or possible code execution on the server. | Medium 6.7 | 21 Jul 2026 |
| CVE-2025-14821 | A flaw was found in libssh. This vulnerability allows local man-in-the-middle attacks, security downgrades of SSH (Secure Shell) connections, and manipulation of trusted host information, posing a significant risk to the confidentiality, integrity, and availability of SSH communications via an insecure default configuration on Windows systems where the library automatically loads configuration fil | High 7.8 | 7 Apr 2026 |
| CVE-2026-0965 | A flaw was found in libssh where it can attempt to open arbitrary files during configuration parsing. A local attacker can exploit this by providing a malicious configuration file or when the system is misconfigured. This vulnerability could lead to a Denial of Service (DoS) by causing the system to try and access dangerous files, such as block devices or large system files, which can disrupt norm | Low 3.3 | 26 Mar 2026 |
| CVE-2026-0966 | A flaw was found in libssh. The API function `ssh_get_hexa()` is vulnerable to a denial of service when processing zero-length input. This can be exploited remotely by an attacker during GSSAPI (Generic Security Service Application Program Interface) authentication if the server's logging verbosity is set to `SSH_LOG_PACKET (3)` or higher. Successful exploitation could lead to a self-Denial of Ser | High 8.2 | 26 Mar 2026 |
| CVE-2026-0967 | A flaw was found in libssh. A remote attacker, by controlling client configuration files or known_hosts files, could craft specific hostnames that when processed by the `match_pattern()` function can lead to inefficient regular expression backtracking. This can cause timeouts and resource exhaustion, resulting in a Denial of Service (DoS) for the client. | Medium 5.5 | 26 Mar 2026 |
| CVE-2026-0968 | A flaw was found in libssh in which a malicious SFTP (SSH File Transfer Protocol) server can exploit this by sending a malformed 'longname' field within an `SSH_FXP_NAME` message during a file listing operation. This missing null check can lead to reading beyond allocated memory on the heap. This can cause unexpected behavior or lead to a denial of service (DoS) due to application crashes. | Low 3.1 | 26 Mar 2026 |
| CVE-2026-0964 | A malicious SCP server can send unexpected paths that could make the client application override local files outside of working directory. This could be misused to create malicious executable or configuration files and make the user execute them under specific consequences. This is the same issue as in OpenSSH, tracked as CVE-2019-6111. | Medium 6.3 | 26 Mar 2026 |
| CVE-2026-3731 | A weakness has been identified in libssh up to 0.11.3. The impacted element is the function sftp_extensions_get_name/sftp_extensions_get_data of the file src/sftp.c of the component SFTP Extension Name Handler. Executing a manipulation of the argument idx can lead to out-of-bounds read. The attack may be performed from remote. Upgrading to version 0.11.4 and 0.12.0 is sufficient to resolve this is | Medium 6.9 | 8 Mar 2026 |
| CVE-2025-5449 | A flaw was found in the SFTP server message decoding logic of libssh. The issue occurs due to an incorrect packet length check that allows an integer overflow when handling large payload sizes on 32-bit systems. This issue leads to failed memory allocation and causes the server process to crash, resulting in a denial of service. | Medium 6.5 | 25 Jul 2025 |
| CVE-2025-8114 | A flaw was found in libssh, a library that implements the SSH protocol. When calculating the session ID during the key exchange (KEX) process, an allocation failure in cryptographic functions may lead to a NULL pointer dereference. This issue can cause the client or server to crash. | Medium 4.7 | 24 Jul 2025 |
| CVE-2025-5987 | A flaw was found in libssh when using the ChaCha20 cipher with the OpenSSL library. If an attacker manages to exhaust the heap space, this error is not detected and may lead to libssh using a partially initialized cipher context. This occurs because the OpenSSL error code returned aliases with the SSH_OK code, resulting in libssh not properly detecting the error returned by the OpenSSL library. Th | High 8.1 | 7 Jul 2025 |
| CVE-2025-5351 | A flaw was found in the key export functionality of libssh. The issue occurs in the internal function responsible for converting cryptographic keys into serialized formats. During error handling, a memory structure is freed but not cleared, leading to a potential double free issue if an additional failure occurs later in the function. This condition may result in heap corruption or application ins | Medium 6.5 | 4 Jul 2025 |
| CVE-2025-5372 | A flaw was found in libssh versions built with OpenSSL versions older than 3.0, specifically in the ssh_kdf() function responsible for key derivation. Due to inconsistent interpretation of return values where OpenSSL uses 0 to indicate failure and libssh uses 0 for success—the function may mistakenly return a success status even when key derivation fails. This results in uninitialized cryptographi | Medium 5.0 | 4 Jul 2025 |
| CVE-2025-5318 | A flaw was found in the libssh library in versions less than 0.11.2. An out-of-bounds read can be triggered in the sftp_handle function due to an incorrect comparison check that permits the function to access memory beyond the valid handle list and to return an invalid pointer, which is used in further processing. This vulnerability allows an authenticated remote attacker to potentially read unint | Medium 5.4 | 24 Jun 2025 |
| CVE-2023-6004 | A flaw was found in libssh. By utilizing the ProxyCommand or ProxyJump feature, users can exploit unchecked hostname syntax on the client. This issue may allow an attacker to inject malicious code into the command of the features mentioned through the hostname parameter. | Medium 4.8 | 3 Jan 2024 |
| CVE-2023-6918 | A flaw was found in the libssh implements abstract layer for message digest (MD) operations implemented by different supported crypto backends. The return values from these were not properly checked, which could cause low-memory situations failures, NULL dereferences, crashes, or usage of the uninitialized memory as an input for the KDF. In this case, non-matching keys will result in decryption/in | Low 3.7 | 19 Dec 2023 |
| CVE-2023-48795 | The SSH transport protocol with certain OpenSSH extensions, found in OpenSSH before 9.6 and other products, allows remote attackers to bypass integrity checks such that some packets are omitted (from the extension negotiation message), and a client and server may consequently end up with a connection for which some security features have been downgraded or disabled, aka a Terrapin attack. This occ | Medium 5.9 | 18 Dec 2023 |
| CVE-2023-3603 | A missing allocation check in sftp server processing read requests may cause a NULL dereference on low-memory conditions. The malicious client can request up to 4GB SFTP reads, causing allocation of up to 4GB buffers, which was not being checked for failure. This will likely crash the authenticated user's sftp server connection (if implemented as forking as recommended). For thread-based servers, | Low 3.1 | 21 Jul 2023 |
| CVE-2023-2283 | A vulnerability was found in libssh, where the authentication check of the connecting client can be bypassed in the`pki_verify_data_signature` function in memory allocation problems. This issue may happen if there is insufficient memory or the memory usage is limited. The problem is caused by the return value `rc,` which is initialized to SSH_ERROR and later rewritten to save the return value of t | Medium 6.5 | 26 May 2023 |
| CVE-2023-1667 | A NULL pointer dereference was found In libssh during re-keying with algorithm guessing. This issue may allow an authenticated client to cause a denial of service. | Medium 6.5 | 26 May 2023 |
| CVE-2021-3634 | A flaw has been found in libssh in versions prior to 0.9.6. The SSH protocol keeps track of two shared secrets during the lifetime of the session. One of them is called secret_hash and the other session_id. Initially, both of them are the same, but after key re-exchange, previous session_id is kept and used as an input to new secret_hash. Historically, both of these buffers had shared length varia | Medium 6.5 | 31 Aug 2021 |
| CVE-2020-16135 | libssh 0.9.4 has a NULL pointer dereference in tftpserver.c if ssh_buffer_new returns NULL. | Medium 5.9 | 29 Jul 2020 |
| CVE-2020-1730 | A flaw was found in libssh versions before 0.8.9 and before 0.9.4 in the way it handled AES-CTR (or DES ciphers if enabled) ciphers. The server or client could crash when the connection hasn't been fully initialized and the system tries to cleanup the ciphers when closing the connection. The biggest threat from this vulnerability is system availability. | Medium 5.3 | 13 Apr 2020 |
| CVE-2019-14889 | A flaw was found with the libssh API function ssh_scp_new() in versions before 0.9.3 and before 0.8.8. When the libssh SCP client connects to a server, the scp command, which includes a user-provided path, is executed on the server-side. In case the library is used in a way where users can influence the third parameter of the function, it would become possible for an attacker to inject arbitrary c | High 8.8 | 10 Dec 2019 |
| CVE-2018-10933 | A vulnerability was found in libssh's server-side state machine before versions 0.7.6 and 0.8.4. A malicious client could create channels without first performing authentication, resulting in unauthorized access. | Critical 9.1 | 17 Oct 2018 |
| CVE-2016-0739 | libssh before 0.7.3 improperly truncates ephemeral secrets generated for the (1) diffie-hellman-group1 and (2) diffie-hellman-group14 key exchange methods to 128 bits, which makes it easier for man-in-the-middle attackers to decrypt or intercept SSH sessions via unspecified vectors, aka a "bits/bytes confusion bug." | Medium 5.9 | 13 Apr 2016 |
| CVE-2015-3146 | The (1) SSH_MSG_NEWKEYS and (2) SSH_MSG_KEXDH_REPLY packet handlers in package_cb.c in libssh before 0.6.5 do not properly validate state, which allows remote attackers to cause a denial of service (NULL pointer dereference and crash) via a crafted SSH packet. | High 7.5 | 13 Apr 2016 |
| CVE-2014-8132 | Double free vulnerability in the ssh_packet_kexinit function in kex.c in libssh 0.5.x and 0.6.x before 0.6.4 allows remote attackers to cause a denial of service via a crafted kexinit packet. | Medium 5.0 | 29 Dec 2014 |
| CVE-2014-0017 | The RAND_bytes function in libssh before 0.6.3, when forking is enabled, does not properly reset the state of the OpenSSL pseudo-random number generator (PRNG), which causes the state to be shared between children processes and allows local users to obtain sensitive information by leveraging a pid collision. | Low 1.9 | 14 Mar 2014 |
| CVE-2013-0176 | The publickey_from_privatekey function in libssh before 0.5.4, when no algorithm is matched during negotiations, allows remote attackers to cause a denial of service (NULL pointer dereference and crash) via a "Client: Diffie-Hellman Key Exchange Init" packet. | Medium 4.3 | 5 Feb 2013 |
| CVE-2012-4559 | Multiple double free vulnerabilities in the (1) agent_sign_data function in agent.c, (2) channel_request function in channels.c, (3) ssh_userauth_pubkey function in auth.c, (4) sftp_parse_attr_3 function in sftp.c, and (5) try_publickey_from_file function in keyfiles.c in libssh before 0.5.3 allow remote attackers to cause a denial of service (crash) and possibly execute arbitrary code via unspeci | Medium 6.8 | 30 Nov 2012 |
| CVE-2012-4560 | Multiple buffer overflows in libssh before 0.5.3 allow remote attackers to cause a denial of service (crash) or possibly execute arbitrary code via unspecified vectors. | High 7.5 | 30 Nov 2012 |
| CVE-2012-4561 | The (1) publickey_make_dss, (2) publickey_make_rsa, (3) signature_from_string, (4) ssh_do_sign, and (5) ssh_sign_session_id functions in keys.c in libssh before 0.5.3 free "an invalid pointer on an error path," which might allow remote attackers to cause a denial of service (crash) via unspecified vectors. | Medium 5.0 | 30 Nov 2012 |
| CVE-2012-4562 | Multiple integer overflows in libssh before 0.5.3 allow remote attackers to cause a denial of service (infinite loop or crash) and possibly execute arbitrary code via unspecified vectors, which triggers a buffer overflow, infinite loop, or possibly some other unspecified vulnerabilities. | High 7.5 | 30 Nov 2012 |
| CVE-2012-6063 | Double free vulnerability in the sftp_mkdir function in sftp.c in libssh before 0.5.3 allows remote attackers to cause a denial of service (crash) and possibly execute arbitrary code via unspecified vectors, a different vector than CVE-2012-4559. | High 7.5 | 30 Nov 2012 |
Original policy
Copied from sorona.xyz on 12 Nov 2026. The summaries on this page are made from it; the live page may have changed since.
Skip to content What this pays This project runs no bounty of its own. sorona.xyz pays you directly on qualified, reproduced findings. Severity │ sorona.xyz pays Critical │ $1,500+ High │ $700+ Medium │ $300+ Low │ $100 / 1 month Claude Max Submit a vulnerability Separately, for a merged upstream patch : up to $5,000 Google Patch Rewards pays on the Tier 2 row, which libssh reaches through its OSS-Fuzz integration, for a patch you get accepted upstream and that stays merged, without reverts, for one month, not for the report. The Tier 2 column runs from $100 for a one-liner to $5,000 for a complicated, high-impact change, and the memory-safety multiplier is Tier 1 only, so it does not apply here. The patch must be at least one month and under twelve months old, it is rate-limited to three submissions a person a month, the maintainers hold a veto, and sanctions and territory exclusions apply. Latest advisories Loading the feed Overview libssh is the SSH library applications reach for when they need SSH inside their own process rather than a shell out to the ssh binary. KDE, GitLab, X2Go and libvirt all link it, which puts it in remote-management paths, in CI and inside virtualisation control planes. It is unusual among SSH libraries in implementing the server side as well as the client, so its consumers include daemons that accept connections from anywhere and its authentication state machine is a genuine access-control boundary. An authentication bypass here hands over whatever the host was protecting. The project runs no bounty and the Internet Bug Bounty row that used to cover it is paused, so sorona.xyz pays you directly on qualified, reproduced findings. In scope [email protected] takes any not-yet-public security issue in libssh, and the maintainers fix privately, ship a numbered release and publish an advisory. Both halves of the library are in: the client implementation and the server implementation The server-side authentication state machine, where a client-supplied message sequence can drive a session into an authenticated state without valid credentials Pre-authentication packet handling on both sides: banner and version exchange, binary packet framing, and key exchange before any credential has been checked Memory safety in the transport layer, where a length or padding value taken off the wire drives a copy, a MAC check or a decompression step The authentication methods in full, covering public key, keyboard-interactive, password and GSSAPI, including the paths that report success or failure back to the caller Key, certificate and known_hosts parsing, and the host-key verification callbacks that decide whether a client trusts the server it reached The channel, SFTP and port-forwarding layers, where a peer controls sizes, request identifiers and filenames after the session is up The callback and options API surface, where an embedding application supplies its own authentication handlers and libssh decides what to do with their answers Out of scope libssh2, which is a different project with a different codebase despite the name, and has its own upstream and its own scope row OpenSSH, which is unrelated code and sits on its own Tier 1 row Defects that actually live in a linked crypto backend such as OpenSSL, mbedTLS or libgcrypt rather than in libssh Application-side API misuse: an embedding application that ignores a return value or wires its own authentication callback to always succeed One-line fixes for non-exploitable crashes, which the Patch Rewards rules will not reward, including crashes that come from resource exhaustion Patches the maintainers decline, patches under one month or over twelve months old, and anything past three submissions a person a month Most-valued findings Memory corruption reachable before authentication completes, the top bug class here at 38% and the class that turns any libssh-based daemon into a remote target A server-side authentication bypass, at 24% the second-largest class and the highest-impact one, since libssh's server mode is what GitLab-style and virtualisation front ends put in front of real credentials Host-key or certificate verification failure on the client side, which silently converts an authenticated channel into an interceptable one Parsing flaws in key or known_hosts handling driven by attacker-supplied files or peer-supplied blobs A systemic hardening patch across the transport or authentication state machine rather than a single instance. That is what the top of the Patch Rewards scale is written for, and one-liner crash fixes are explicitly excluded from it Program rules Submit through sorona.xyz. This project runs no bounty of its own; we validate, coordinate disclosure with the maintainers, and pay you directly. Send a detailed, reproducible report to the libssh security address; if the maintainers cannot reproduce it, it is not eligible Say whether the bug is on the client side, the server side or both, because libssh implements both and the impact differs sharply Give the maintainers room to ship a release and publish an advisory before any public writeup Findings that actually live in libssh2, OpenSSH or a linked crypto backend belong upstream with that project rather than here The Google patch money is a separate pathway: you land the fix upstream yourself and keep it merged, without reverts, for one month, and at Tier 2 there is no memory-safety multiplier Google cannot pay anyone on a sanctions list, in a sanctioned territory, or located in Russia or Belarus Disclosure Coordinated with the libssh maintainers through [email protected] . They fix privately, ship a numbered release and publish an advisory on libssh.org with researcher credit, giving the distributions a short private window first. Hold the detail until that release is out. Nothing in the Patch Rewards rules restricts who may help you prepare or route the report. Safe harbor Sorona will not pursue legal action against you for good-faith research submitted to us in line with this policy. We cannot speak for the upstream project, its vendor, or any third party, and we do not grant authorization on their behalf. You are responsible for understanding and following the laws that apply to you, wherever you are, and for staying within any scope the project has defined. Submit a vulnerability