HIGH (2)
OpenSSH < 9.8 RCE
The version of OpenSSH installed on the remote host is prior to 9.8. It is, therefore, affected by a vulnerability as
referenced in the release-9.8 advisory.
- This release contains fixes for two security problems, one critical and one minor. 1) Race condition in
sshd(8) A critical vulnerability in sshd(8) was present in Portable OpenSSH versions between 8.5p1 and
9.7p1 (inclusive) that may allow arbitrary code execution with root privileges. Successful exploitation
has been demonstrated on 32-bit Linux/glibc systems with ASLR. Under lab conditions, the attack requires
on average 6-8 hours of continuous connections up to the maximum the server will accept. Exploitation on
64-bit systems is believed to be possible but has not been demonstrated at this time. It's likely that
these attacks will be improved upon. Exploitation on non-glibc systems is conceivable but has not been
examined. Systems that lack ASLR or users of downstream Linux distributions that have modified OpenSSH to
disable per-connection ASLR re-randomisation (yes - this is a thing, no - we don't understand why) may
potentially have an easier path to exploitation. OpenBSD is not vulnerable. We thank the Qualys Security
Advisory Team for discovering, reporting and demonstrating exploitability of this problem, and for
providing detailed feedback on additional mitigation measures. 2) Logic error in ssh(1)
ObscureKeystrokeTiming In OpenSSH version 9.5 through 9.7 (inclusive), when connected to an OpenSSH server
version 9.5 or later, a logic error in the ssh(1) ObscureKeystrokeTiming feature (on by default) rendered
this feature ineffective - a passive observer could still detect which network packets contained real
keystrokes when the countermeasure was active because both fake and real keystroke packets were being sent
unconditionally. This bug was Daniel Hugenroth and Alastair Beresford of the University of Cambridge
Computer Lab. Worse, the unconditional sending of both fake and real keystroke packets broke another long-
standing timing attack mitigation. Since OpenSSH 2.9.9 sshd(8) has sent fake keystoke echo packets for
traffic received on TTYs in echo-off mode, such as when entering a password into su(8) or sudo(8). This
bug rendered these fake keystroke echoes ineffective and could allow a passive observer of a SSH session
to once again detect when echo was off and obtain fairly limited timing information about keystrokes in
this situation (20ms granularity by default). This additional implication of the bug was identified by
Jacky Wei En Kung, Daniel Hugenroth and Alastair Beresford and we thank them for their detailed analysis.
This bug does not affect connections when ObscureKeystrokeTiming was disabled or sessions where no TTY was
requested. (openssh-9.8-1)
Note that Nessus has not tested for this issue but has instead relied only on the application's self-reported version
number.
Javasolt megoldás
Upgrade to OpenSSH version 9.8 or later.
OpenSSH < 9.8 RCE
The version of OpenSSH installed on the remote host is prior to 9.8. It is, therefore, affected by a vulnerability as
referenced in the release-9.8 advisory.
- This release contains fixes for two security problems, one critical and one minor. 1) Race condition in
sshd(8) A critical vulnerability in sshd(8) was present in Portable OpenSSH versions between 8.5p1 and
9.7p1 (inclusive) that may allow arbitrary code execution with root privileges. Successful exploitation
has been demonstrated on 32-bit Linux/glibc systems with ASLR. Under lab conditions, the attack requires
on average 6-8 hours of continuous connections up to the maximum the server will accept. Exploitation on
64-bit systems is believed to be possible but has not been demonstrated at this time. It's likely that
these attacks will be improved upon. Exploitation on non-glibc systems is conceivable but has not been
examined. Systems that lack ASLR or users of downstream Linux distributions that have modified OpenSSH to
disable per-connection ASLR re-randomisation (yes - this is a thing, no - we don't understand why) may
potentially have an easier path to exploitation. OpenBSD is not vulnerable. We thank the Qualys Security
Advisory Team for discovering, reporting and demonstrating exploitability of this problem, and for
providing detailed feedback on additional mitigation measures. 2) Logic error in ssh(1)
ObscureKeystrokeTiming In OpenSSH version 9.5 through 9.7 (inclusive), when connected to an OpenSSH server
version 9.5 or later, a logic error in the ssh(1) ObscureKeystrokeTiming feature (on by default) rendered
this feature ineffective - a passive observer could still detect which network packets contained real
keystrokes when the countermeasure was active because both fake and real keystroke packets were being sent
unconditionally. This bug was Daniel Hugenroth and Alastair Beresford of the University of Cambridge
Computer Lab. Worse, the unconditional sending of both fake and real keystroke packets broke another long-
standing timing attack mitigation. Since OpenSSH 2.9.9 sshd(8) has sent fake keystoke echo packets for
traffic received on TTYs in echo-off mode, such as when entering a password into su(8) or sudo(8). This
bug rendered these fake keystroke echoes ineffective and could allow a passive observer of a SSH session
to once again detect when echo was off and obtain fairly limited timing information about keystrokes in
this situation (20ms granularity by default). This additional implication of the bug was identified by
Jacky Wei En Kung, Daniel Hugenroth and Alastair Beresford and we thank them for their detailed analysis.
This bug does not affect connections when ObscureKeystrokeTiming was disabled or sessions where no TTY was
requested. (openssh-9.8-1)
Note that Nessus has not tested for this issue but has instead relied only on the application's self-reported version
number.
Javasolt megoldás
Upgrade to OpenSSH version 9.8 or later.
MEDIUM (4)
OpenSSH < 9.6 Multiple Vulnerabilities
The version of OpenSSH installed on the remote host is prior to 9.6. It is, therefore, affected by multiple
vulnerabilities as referenced in the release-9.6 advisory.
- ssh(1), sshd(8): implement protocol extensions to thwart the so-called Terrapin attack discovered by
Fabian Bumer, Marcus Brinkmann and Jrg Schwenk. This attack allows a MITM to effect a limited break of
the integrity of the early encrypted SSH transport protocol by sending extra messages prior to the
commencement of encryption, and deleting an equal number of consecutive messages immediately after
encryption starts. A peer SSH client/server would not be able to detect that messages were deleted. While
cryptographically novel, the security impact of this attack is fortunately very limited as it only allows
deletion of consecutive messages, and deleting most messages at this stage of the protocol prevents user
user authentication from proceeding and results in a stuck connection. The most serious identified impact
is that it lets a MITM to delete the SSH2_MSG_EXT_INFO message sent before authentication starts, allowing
the attacker to disable a subset of the keystroke timing obfuscation features introduced in OpenSSH 9.5.
There is no other discernable impact to session secrecy or session integrity. OpenSSH 9.6 addresses this
protocol weakness through a new strict KEX protocol extension that will be automatically enabled when
both the client and server support it. This extension makes two changes to the SSH transport protocol to
improve the integrity of the initial key exchange. Firstly, it requires endpoints to terminate the
connection if any unnecessary or unexpected message is received during key exchange (including messages
that were previously legal but not strictly required like SSH2_MSG_DEBUG). This removes most malleability
from the early protocol. Secondly, it resets the Message Authentication Code counter at the conclusion of
each key exchange, preventing previously inserted messages from being able to make persistent changes to
the sequence number across completion of a key exchange. Either of these changes should be sufficient to
thwart the Terrapin Attack. More details of these changes are in the PROTOCOL file in the OpenSSH source
distribition. (CVE-2023-48795)
- ssh-agent(1): when adding PKCS#11-hosted private keys while specifying destination constraints, if the
PKCS#11 token returned multiple keys then only the first key had the constraints applied. Use of regular
private keys, FIDO tokens and unconstrained keys are unaffected. (CVE-2023-51384)
- ssh(1): if an invalid user or hostname that contained shell metacharacters was passed to ssh(1), and a
ProxyCommand, LocalCommand directive or match exec predicate referenced the user or hostname via %u, %h
or similar expansion token, then an attacker who could supply arbitrary user/hostnames to ssh(1) could
potentially perform command injection depending on what quoting was present in the user-supplied
ssh_config(5) directive. This situation could arise in the case of git submodules, where a repository
could contain a submodule with shell characters in its user/hostname. Git does not ban shell
metacharacters in user or host names when checking out repositories from untrusted sources. Although we
believe it is the user's responsibility to ensure validity of arguments passed to ssh(1), especially
across a security boundary such as the git example above, OpenSSH 9.6 now bans most shell metacharacters
from user and hostnames supplied via the command-line. This countermeasure is not guaranteed to be
effective in all situations, as it is infeasible for ssh(1) to universally filter shell metacharacters
potentially relevant to user-supplied commands. User/hostnames provided via ssh_config(5) are not subject
to these restrictions, allowing configurations that use strange names to continue to be used, under the
assumption that the user knows what they are doing in their own configuration files. (CVE-2023-51385)
Note that Nessus has not tested for these issues but has instead relied only on the application's self-reported version
number.
Javasolt megoldás
Upgrade to OpenSSH version 9.6 or later.
OpenSSH < 9.6 Multiple Vulnerabilities
The version of OpenSSH installed on the remote host is prior to 9.6. It is, therefore, affected by multiple
vulnerabilities as referenced in the release-9.6 advisory.
- ssh(1), sshd(8): implement protocol extensions to thwart the so-called Terrapin attack discovered by
Fabian Bumer, Marcus Brinkmann and Jrg Schwenk. This attack allows a MITM to effect a limited break of
the integrity of the early encrypted SSH transport protocol by sending extra messages prior to the
commencement of encryption, and deleting an equal number of consecutive messages immediately after
encryption starts. A peer SSH client/server would not be able to detect that messages were deleted. While
cryptographically novel, the security impact of this attack is fortunately very limited as it only allows
deletion of consecutive messages, and deleting most messages at this stage of the protocol prevents user
user authentication from proceeding and results in a stuck connection. The most serious identified impact
is that it lets a MITM to delete the SSH2_MSG_EXT_INFO message sent before authentication starts, allowing
the attacker to disable a subset of the keystroke timing obfuscation features introduced in OpenSSH 9.5.
There is no other discernable impact to session secrecy or session integrity. OpenSSH 9.6 addresses this
protocol weakness through a new strict KEX protocol extension that will be automatically enabled when
both the client and server support it. This extension makes two changes to the SSH transport protocol to
improve the integrity of the initial key exchange. Firstly, it requires endpoints to terminate the
connection if any unnecessary or unexpected message is received during key exchange (including messages
that were previously legal but not strictly required like SSH2_MSG_DEBUG). This removes most malleability
from the early protocol. Secondly, it resets the Message Authentication Code counter at the conclusion of
each key exchange, preventing previously inserted messages from being able to make persistent changes to
the sequence number across completion of a key exchange. Either of these changes should be sufficient to
thwart the Terrapin Attack. More details of these changes are in the PROTOCOL file in the OpenSSH source
distribition. (CVE-2023-48795)
- ssh-agent(1): when adding PKCS#11-hosted private keys while specifying destination constraints, if the
PKCS#11 token returned multiple keys then only the first key had the constraints applied. Use of regular
private keys, FIDO tokens and unconstrained keys are unaffected. (CVE-2023-51384)
- ssh(1): if an invalid user or hostname that contained shell metacharacters was passed to ssh(1), and a
ProxyCommand, LocalCommand directive or match exec predicate referenced the user or hostname via %u, %h
or similar expansion token, then an attacker who could supply arbitrary user/hostnames to ssh(1) could
potentially perform command injection depending on what quoting was present in the user-supplied
ssh_config(5) directive. This situation could arise in the case of git submodules, where a repository
could contain a submodule with shell characters in its user/hostname. Git does not ban shell
metacharacters in user or host names when checking out repositories from untrusted sources. Although we
believe it is the user's responsibility to ensure validity of arguments passed to ssh(1), especially
across a security boundary such as the git example above, OpenSSH 9.6 now bans most shell metacharacters
from user and hostnames supplied via the command-line. This countermeasure is not guaranteed to be
effective in all situations, as it is infeasible for ssh(1) to universally filter shell metacharacters
potentially relevant to user-supplied commands. User/hostnames provided via ssh_config(5) are not subject
to these restrictions, allowing configurations that use strange names to continue to be used, under the
assumption that the user knows what they are doing in their own configuration files. (CVE-2023-51385)
Note that Nessus has not tested for these issues but has instead relied only on the application's self-reported version
number.
Javasolt megoldás
Upgrade to OpenSSH version 9.6 or later.
OpenSSH < 9.6 Multiple Vulnerabilities
The version of OpenSSH installed on the remote host is prior to 9.6. It is, therefore, affected by multiple
vulnerabilities as referenced in the release-9.6 advisory.
- ssh(1), sshd(8): implement protocol extensions to thwart the so-called Terrapin attack discovered by
Fabian Bumer, Marcus Brinkmann and Jrg Schwenk. This attack allows a MITM to effect a limited break of
the integrity of the early encrypted SSH transport protocol by sending extra messages prior to the
commencement of encryption, and deleting an equal number of consecutive messages immediately after
encryption starts. A peer SSH client/server would not be able to detect that messages were deleted. While
cryptographically novel, the security impact of this attack is fortunately very limited as it only allows
deletion of consecutive messages, and deleting most messages at this stage of the protocol prevents user
user authentication from proceeding and results in a stuck connection. The most serious identified impact
is that it lets a MITM to delete the SSH2_MSG_EXT_INFO message sent before authentication starts, allowing
the attacker to disable a subset of the keystroke timing obfuscation features introduced in OpenSSH 9.5.
There is no other discernable impact to session secrecy or session integrity. OpenSSH 9.6 addresses this
protocol weakness through a new strict KEX protocol extension that will be automatically enabled when
both the client and server support it. This extension makes two changes to the SSH transport protocol to
improve the integrity of the initial key exchange. Firstly, it requires endpoints to terminate the
connection if any unnecessary or unexpected message is received during key exchange (including messages
that were previously legal but not strictly required like SSH2_MSG_DEBUG). This removes most malleability
from the early protocol. Secondly, it resets the Message Authentication Code counter at the conclusion of
each key exchange, preventing previously inserted messages from being able to make persistent changes to
the sequence number across completion of a key exchange. Either of these changes should be sufficient to
thwart the Terrapin Attack. More details of these changes are in the PROTOCOL file in the OpenSSH source
distribition. (CVE-2023-48795)
- ssh-agent(1): when adding PKCS#11-hosted private keys while specifying destination constraints, if the
PKCS#11 token returned multiple keys then only the first key had the constraints applied. Use of regular
private keys, FIDO tokens and unconstrained keys are unaffected. (CVE-2023-51384)
- ssh(1): if an invalid user or hostname that contained shell metacharacters was passed to ssh(1), and a
ProxyCommand, LocalCommand directive or match exec predicate referenced the user or hostname via %u, %h
or similar expansion token, then an attacker who could supply arbitrary user/hostnames to ssh(1) could
potentially perform command injection depending on what quoting was present in the user-supplied
ssh_config(5) directive. This situation could arise in the case of git submodules, where a repository
could contain a submodule with shell characters in its user/hostname. Git does not ban shell
metacharacters in user or host names when checking out repositories from untrusted sources. Although we
believe it is the user's responsibility to ensure validity of arguments passed to ssh(1), especially
across a security boundary such as the git example above, OpenSSH 9.6 now bans most shell metacharacters
from user and hostnames supplied via the command-line. This countermeasure is not guaranteed to be
effective in all situations, as it is infeasible for ssh(1) to universally filter shell metacharacters
potentially relevant to user-supplied commands. User/hostnames provided via ssh_config(5) are not subject
to these restrictions, allowing configurations that use strange names to continue to be used, under the
assumption that the user knows what they are doing in their own configuration files. (CVE-2023-51385)
Note that Nessus has not tested for these issues but has instead relied only on the application's self-reported version
number.
Javasolt megoldás
Upgrade to OpenSSH version 9.6 or later.
SSH Terrapin Prefix Truncation Weakness (CVE-2023-48795)
The remote SSH server is vulnerable to a man-in-the-middle prefix truncation weakness known as Terrapin. This can
allow a remote, man-in-the-middle attacker to bypass integrity checks and downgrade the connection's security.
Note that this plugin only checks for remote SSH servers that support either ChaCha20-Poly1305 or CBC with
Encrypt-then-MAC and do not support the strict key exchange countermeasures. It does not check for vulnerable software
versions.
Javasolt megoldás
Contact the vendor for an update with the strict key exchange countermeasures or disable the affected algorithms.
LOW (4)
ICMP Timestamp Request Remote Date Disclosure
The remote host answers to an ICMP timestamp request. This allows an
attacker to know the date that is set on the targeted machine, which
may assist an unauthenticated, remote attacker in defeating time-based
authentication protocols.
Timestamps returned from machines running Windows Vista / 7 / 2008 /
2008 R2 are deliberately incorrect, but usually within 1000 seconds of
the actual system time.
Javasolt megoldás
Filter out the ICMP timestamp requests (13), and the outgoing ICMP
timestamp replies (14).
OpenSSH < 10.0 DisableForwarding
The version of OpenSSH installed on the remote host is prior to 10.0. It is, therefore, affected by a
vulnerability. In sshd in OpenSSH the DisableForwarding directive does not adhere to the documentation stating that it
disables X11 and agent forwarding.
Note that Nessus has not tested for this issue but has instead relied only on the application's self-reported version
number.
Javasolt megoldás
Upgrade to OpenSSH version 10.0 or later.
OpenSSH < 10.1 / 10.1p1 Multiple Vulnerabilities
The version of OpenSSH installed on the remote host is prior to 10.1. It is, therefore, affected by multiple
vulnerabilities:
- ssh in OpenSSH before 10.1 allows control characters in usernames that originate from certain possibly
untrusted sources, potentially leading to code execution when a ProxyCommand is used. The untrusted
sources are the command line and %-sequence expansion of a configuration file. (A configuration file
that provides a complete literal username is not categorized as an untrusted source.) (CVE-2025-61984)
- ssh in OpenSSH before 10.1 allows the '\0' character in an ssh:// URI, potentially leading to code execution when a
ProxyCommand is used. (CVE-2025-61985)
Note that Nessus has not tested for this issue but has instead relied only on the application's self-reported version
number.
Javasolt megoldás
Upgrade to OpenSSH version 10.1/10.1p1 or later.
OpenSSH < 10.1 / 10.1p1 Multiple Vulnerabilities
The version of OpenSSH installed on the remote host is prior to 10.1. It is, therefore, affected by multiple
vulnerabilities:
- ssh in OpenSSH before 10.1 allows control characters in usernames that originate from certain possibly
untrusted sources, potentially leading to code execution when a ProxyCommand is used. The untrusted
sources are the command line and %-sequence expansion of a configuration file. (A configuration file
that provides a complete literal username is not categorized as an untrusted source.) (CVE-2025-61984)
- ssh in OpenSSH before 10.1 allows the '\0' character in an ssh:// URI, potentially leading to code execution when a
ProxyCommand is used. (CVE-2025-61985)
Note that Nessus has not tested for this issue but has instead relied only on the application's self-reported version
number.
Javasolt megoldás
Upgrade to OpenSSH version 10.1/10.1p1 or later.