Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Connection is stuck when time on SSH Server is set after the Year-2038 Problem #2233

Open
3 tasks done
lksptz opened this issue May 19, 2024 · 4 comments
Open
3 tasks done

Comments

@lksptz
Copy link

lksptz commented May 19, 2024

Prerequisites

  • Write a descriptive title.
  • Make sure you are able to repro it on the latest version
  • Search the existing issues.

Steps to reproduce

When I start the SSH Server on a machine where the date is set after the Year-2038 Problem (2038-01-19 03:14:07 UTC) the connection is stuck. On the client I'm asked for the password to login, the login is successful ("Authentication succeeded" in the log), but the connection then freezes and the client can't be stopped using CTRL+C but has to be killed by closing cmd/powershell.

I once could reproduce it on a device where I got the additional log output that the channel unpauses in over 2 billion seconds. At the time I checked and the exact second where the log message was written as unix timestamp, added to the over 2 billion seconds from the log was exactly 2^32. Unfortunately, I no longer have access to this device and I'm not sure which version of the SSH Server it hat exactly, but it was installed via the Windows Optional Features.

Attached I have the logs from the client, started with -vvv and from the server with LogLevel DEBUG3.

ssh.txt
sshd.txt

Expected behavior

The connection should work as usual.

Actual behavior

The connection freezes, no shell is opened at the client and the client can't be exited using CTRL + C, but has to be killed by closing cmd/powershell.

Error details

No response

Environment data

Name                           Value
----                           -----
PSVersion                      5.1.22621.2506
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.22621.2506
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1

Version

OpenSSH_for_Windows_9.6p1, LibreSSL 3.8.2 (built from commit 661803c9ec4d7dee6574eb6ff0c85b2b7006edb1)

Visuals

No response

@maertendMSFT
Copy link
Collaborator

Do you have a *nix machine you can replicate this issue on?

@maertendMSFT maertendMSFT added Waiting on Author Need more information to diagnose Area-sshd labels May 20, 2024
@lksptz
Copy link
Author

lksptz commented May 26, 2024

I tried running the SSH-Server on Ubuntu 22.04.4 LTS (OpenSSH_8.9p1 Ubuntu-3ubuntu0.7, OpenSSL 3.0.2 15 Mar 2022). If I set the time there e.g. to 2039-01-01 and connect via SSH the connection works as expected.

I also tried installing the Bitvise SSH Server (9.37) on Windows, there the connection also works as expected with the time set to the year 2039.

So I can only reproduce this issue on Windows with the OpenSSH Server.

@maertendMSFT maertendMSFT added Issue-Bug Investigate and removed Waiting on Author Need more information to diagnose labels Jun 3, 2024
@lksptz
Copy link
Author

lksptz commented Jul 15, 2024

Is there any update/workaround for this bug or maybe a planned timeline when this will be done?

@LainOTN2
Copy link

LainOTN2 commented Aug 7, 2024

Potential fix seems to be two parts, one on LibreSSL, other in openssh-portable

PowerShell/LibreSSL#30
PowerShell/openssh-portable#738

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants