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

Windows hello crash when on remote desktop #7890

Closed
Stonedestroyer opened this issue Apr 14, 2022 · 12 comments · Fixed by #9006
Closed

Windows hello crash when on remote desktop #7890

Stonedestroyer opened this issue Apr 14, 2022 · 12 comments · Fixed by #9006

Comments

@Stonedestroyer
Copy link

Stonedestroyer commented Apr 14, 2022

Overview

Steps to Reproduce

  1. Login to keepassXC
  2. Enter hello pin
  3. Lock the database so unlock shows
  4. Connect to device with remote desktop and press unlock

Expected Behavior

For it to either ask for a password again or say it's invalid.

Actual Behavior

Program just closing.

Context

KeePassXC - v2.7.1
Revision: 5916a8f

Operating System: Windows 11

@droidmonkey
Copy link
Member

Connect to device with remote desktop

https://keepassxc.org/docs/KeePassXC_UserGuide.html#_screenshot_security

@Stonedestroyer
Copy link
Author

Stonedestroyer commented Apr 14, 2022

I think you misunderstood me, the application works with remote desktop without issues and I've been using it like this for a while, it's just on that specific edge case with new windows hello functionality added it just closes. Unless you say this will resolve the edge case?

@droidmonkey
Copy link
Member

Please provide a screencapture of what you experience. I have no idea what the problem actually is based on the description.

@droidmonkey droidmonkey reopened this Apr 14, 2022
@droidmonkey droidmonkey changed the title Windows hello crash Windows hello crash when on remote desktop Apr 14, 2022
@Stonedestroyer
Copy link
Author

Stonedestroyer commented Apr 14, 2022

I will try explain how the behavior was before and after.

  1. Start KeepassXC on device.
  2. Login,
  3. Connect to the device through remote desktop from another device
  4. KeepassXC logged out asking for pw again
  5. It asks for password
  6. Enter and you are logged in.

Windows hello behavior

  1. Start keepassXC on device
  2. Login
  3. Windows hello prompt asking for PIN
  4. Enter and now you are logged in.
  5. Connect to the device through remote desktop from another device
  6. There is a "unlock" button that says unlock and has a fingerprint icon.
  7. Press it and application closes.

I assume cause this is cause windows hello is not supported over remote desktop. As when I try to login again over remote desktop I don't get the windows hello prompt. So not sure what best scenario here would be, as the application just closes I assume it errors at some point.

I did not see a way to extract the logs, I can try see if I can capture a video but it may be hard to capture all the events.

The bug in this case would be the application just abruptly closing after pressing unlock.

@droidmonkey
Copy link
Member

Closing as in it is no longer in task manager? You don't get a prompt saying it crashed?

@Stonedestroyer
Copy link
Author

It closes as the window closes, and I can start it again so i assume it goes away from the task manager but will double check. But yes no errors.

@yllekz
Copy link

yllekz commented Apr 25, 2022

This is still happening for me. Is there any progress on this? It doesn't crash, it just quits...even if the correct PIN is entered. Win10 21H2

@droidmonkey
Copy link
Member

Can't reproduce it so no, there is nothing obvious to fix here.

@Stonedestroyer
Copy link
Author

Stonedestroyer commented Apr 27, 2022

Could you perhaps note down the steps you are following?

I will try to summarize it in fewer steps as my initial explanation was confusing.

  1. Start KeepassXC
  2. Login (windows hello enabled)
  3. Go to another device, connect remote desktop to the device KeepassXC is running on
  4. Press unlock on KeepassXC as database quick unlock is enabled.
  5. Program closes

@deluxghost
Copy link

This issue is 100% reproducible. While first time opening KeePassXC, enable the windows hello by providing your fingerprint, And login from another PC through RDP protocol. The only problem is, we don't know how to get some log files for you

@ttimasdf
Copy link

ttimasdf commented Sep 5, 2022

Same problem, also on Windows 11. KeepassXC crashed when unlocking database through RDP.

@michaelk83
Copy link

michaelk83 commented Sep 5, 2022

If it's a crash, you'll need to reproduce it with the latest snapshot to get a stack trace. Need to run it through a debugger, I think.
edit: This might be related to #7977.

Gibstick added a commit to Gibstick/keepassxc that referenced this issue Jan 18, 2023
The KeyCredentialManager::RequestCreateAsync call can fail because we can end up in a situation where Windows Hello is initially available but then becomes unavailable, such as during a remote desktop session. This commit prevents a crash by moving the call into the try-catch.

Fixes keepassxreboot#7890, but does not improve the experience yet
Gibstick added a commit to Gibstick/keepassxc that referenced this issue Jan 18, 2023
This commit resets the quick unlock state if quick unlock fails,
providing a better fallback behavior in the case of keepassxreboot#7890 (the case
where Windows Hello suddenly becomes unavailable).
Gibstick added a commit to Gibstick/keepassxc that referenced this issue Jan 19, 2023
The KeyCredentialManager::RequestCreateAsync call can fail because we
can end up in a situation where Windows Hello is initially available but
then becomes unavailable, such as during a remote desktop session. This
commit prevents a crash by moving the call into the try-catch.

Fixes keepassxreboot#7890, but does not improve the experience yet.
Gibstick added a commit to Gibstick/keepassxc that referenced this issue Jan 19, 2023
This commit resets the quick unlock state if quick unlock fails,
providing a better fallback behavior in the case of keepassxreboot#7890 (the case
where Windows Hello suddenly becomes unavailable).
Gibstick added a commit to Gibstick/keepassxc that referenced this issue Jan 19, 2023
The KeyCredentialManager::RequestCreateAsync call can fail because we
can end up in a situation where Windows Hello is initially available but
then becomes unavailable, such as during a remote desktop session. This
commit prevents a crash by moving the call into the try-catch.

Fixes keepassxreboot#7890, but does not improve the experience yet.
Gibstick added a commit to Gibstick/keepassxc that referenced this issue Jan 19, 2023
This commit resets the quick unlock state if quick unlock fails,
providing a better fallback behavior in the case of keepassxreboot#7890 (the case
where Windows Hello suddenly becomes unavailable).
Gibstick added a commit to Gibstick/keepassxc that referenced this issue Jan 19, 2023
This commit resets the quick unlock state if quick unlock fails,
providing a better fallback behavior in the case of keepassxreboot#7890 (the case
where Windows Hello suddenly becomes unavailable).
droidmonkey pushed a commit to Gibstick/keepassxc that referenced this issue Feb 14, 2023
The KeyCredentialManager::RequestCreateAsync call can fail because we can end up in a situation where Windows Hello is initially available but then becomes unavailable, such as during a remote desktop session. This commit prevents a crash by moving the call into the try-catch.

Fixes keepassxreboot#7890

Also resets quick unlock if there is an unrecoverable error. This will not occur if the user merely canceled the Windows Hello dialog.
droidmonkey pushed a commit to Gibstick/keepassxc that referenced this issue Feb 14, 2023
The KeyCredentialManager::RequestCreateAsync call can fail because we can end up in a situation where Windows Hello is initially available but then becomes unavailable, such as during a remote desktop session. This commit prevents a crash by moving the call into the try-catch.

Fixes keepassxreboot#7890

Also resets quick unlock if there is an unrecoverable error. This will not occur if the user merely canceled the Windows Hello dialog.
droidmonkey pushed a commit that referenced this issue Feb 15, 2023
The KeyCredentialManager::RequestCreateAsync call can fail because we can end up in a situation where Windows Hello is initially available but then becomes unavailable, such as during a remote desktop session. This commit prevents a crash by moving the call into the try-catch.

Fixes #7890

Also resets quick unlock if there is an unrecoverable error. This will not occur if the user merely canceled the Windows Hello dialog.
droidmonkey pushed a commit that referenced this issue Feb 18, 2023
The KeyCredentialManager::RequestCreateAsync call can fail because we can end up in a situation where Windows Hello is initially available but then becomes unavailable, such as during a remote desktop session. This commit prevents a crash by moving the call into the try-catch.

Fixes #7890

Also resets quick unlock if there is an unrecoverable error. This will not occur if the user merely canceled the Windows Hello dialog.
droidmonkey pushed a commit that referenced this issue Feb 19, 2023
The KeyCredentialManager::RequestCreateAsync call can fail because we can end up in a situation where Windows Hello is initially available but then becomes unavailable, such as during a remote desktop session. This commit prevents a crash by moving the call into the try-catch.

Fixes #7890

Also resets quick unlock if there is an unrecoverable error. This will not occur if the user merely canceled the Windows Hello dialog.
droidmonkey pushed a commit that referenced this issue Feb 19, 2023
The KeyCredentialManager::RequestCreateAsync call can fail because we can end up in a situation where Windows Hello is initially available but then becomes unavailable, such as during a remote desktop session. This commit prevents a crash by moving the call into the try-catch.

Fixes #7890

Also resets quick unlock if there is an unrecoverable error. This will not occur if the user merely canceled the Windows Hello dialog.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants