JSch (and other software) can't connect to Serv-U 15.3.2

Since upgrading to Serv-U 15.3.2, I have many users who cannot connect anymore.

In my case, the similarity with all the cases is that they are using an application that uses the very popular JSch SFTP library within it to connect to external SFTP servers to upload/download files.

This has worked fine for over 10+ years but none of these users can now connect to Serv-U at all, which is causing major problems.

I originally discussed the problem with in a separate thread as he was having issues with some users and we thought it was key related initially, but it is not. I have created this specific thread for the issue as many users of Serv-U 15.3.2 are affected by this issue and will probably be Googling for it.

Solarwinds have released an FAQ and acknoledge this issue in 15.3.2 which can be seen here. This also affects Maverick Legacy Client and Cisco Unified Backup, as well as some older OpenSSH clients.

In summary, the cause is that some client software passes its "name" and version number to Serv-U in a format that isn't straictly compliant with the SFTP RFC, mainly because these libraries do not pass the invisible CR (carriage return) symbol to the end of their name and version number. From what I have observed, this makes Serv-U just continually wait at the point the connection is opened and then the connection times out. Therefore, zero connections can now be made from these clients or any clients/software that uses libraries such as JSch.

Whilst I understand that the RFC compliance is useful, in this case it literally stops software that has worked for 10+ years from making any connections, ever.

In my opinion, because Serv-U has alloed these connections (like most other SFTP servers) since it was created (decades ago), it needs to have backward compatability for the systems that integrate with it.

I would like to respond to each suggestion in the Solarwinds KB to demonstrate why there needs to be a long term solution..


Responses to KB suggested solutions

Suggestion 1: Reach out to your application team to add a CR symbol in your Java-Based client code and ensure that the program is RFC compliant.

Response 1: In 99% of cases this is not possible. Automation software and long established applications use the latest JSch library and it cannot be changed as it is an integrated part of the application.


Suggestion 2. Use a different application that is RFC compliant

Response 2: For the same reasons as Respose 1, most of the time these libraries are integrated into software and have been for 10+ years


Suggestion 3. Rollback to the previous version of Serv-U either by reverting to your Serv-U server snapshot backup, or by following this article.

Response 3: This may be possible as a temporary fix but 1) it is messy due to the Server Identity changes in 15.3.2 and 2) It is not a long term solution, the servers will eventually need to be upgraded. If you are stuck and urgently need to roll back, the article is here but I am a little skeptical it will work due to the Server Identity changes made in 15.3.2 which are detailed toward the end of that article.


Impact

I've already seen others having this issue and can observe how hundreds of users using all different systems will not be able to connect or use Serv-U on 15.3.2. These systems have connected to Serv-U for 10+ years and they cannot just stop - many are automated processes and custom software that users cannot control.

, , have resported on Thwack that their own users are having the same issue, feel free to share here if you have any other observations or thoughts.


The long term solution

There needs to be a perminent backward compatability released as a hotfix for 15.3.2 and then rolled into future versions to allow any clients that use this old name/version formatting to continue to work with Serv-U, the same as it has for 10+ years.



Parents
  • Is Solarwinds actively doing anything to rectify this? I had the same issue with Goanwhere clients and had to revert to 15.3.1. It is scary to think that there is no permanent solution to this after a month. So if some zero day vulnerability emerges with no mitigation we either have to run in a known vulnerable configuration or upgrade to a version that will break many of our client connections? 

  • This has been resolved by Solarwinds with a new feature which exists in 15.3.2 HF1, however there is a different bug in this version which disconnects SFTP connections if the username does not exactly match the case-sensitive version of the username in Serv-U.

    However, the JSch (etc!) fix does exist in a working version 15.3.2.162. This is a Buddy Drop fix from Solarwinds support that you need to contact them for.

    The feature they have added is documented at the end of this KB with screenshots:

    https://support.solarwinds.com/SuccessCenter/s/article/SFTP-connection-not-established-for-legacy-Java-clients?language=en_US

  • All,

    I really can't get over SW position that the RFC must be followed literally, because in the very same paragraph 4x, there is reference to see item 5x which specifies optional backward compatibility guidelines. 

    To me their position and response is, defensive, disingenuous, and not professional. (period)

  • I do not fully understand your concern. From 15.3.2 HF1 there is solution to support all clients affected by change in 15.3.2. Its a new Serv-U settings, that is fully in hands of administrator.

  • Yes, but unfortunately 15.3.2 HF1 has a new major bug in it that stops connections where the username case does not exactly match when connecting with SFTP. As this hasn't happened in previous versions it suddenly breaks connections that have been set up historically.

    Once that bug is fixed I think everyone in the thread will be happy as there is a HF that can be used that has a new setting as you described.

  • MGEBAUER, respectfully, It's SW language & phrasing; which would be better if they said they made a mistake. Then said they're sorry to have taken up so much of their clients resources for a problem entirely created by SW, and was an is an unnecessary officious interpretation of the RFC. And worse is their introduction of a new bug, again another sorry is due from SW.

Reply
  • MGEBAUER, respectfully, It's SW language & phrasing; which would be better if they said they made a mistake. Then said they're sorry to have taken up so much of their clients resources for a problem entirely created by SW, and was an is an unnecessary officious interpretation of the RFC. And worse is their introduction of a new bug, again another sorry is due from SW.

Children
No Data