Skip to content
New issue

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

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

Already on GitHub? # to your account

Reference in Note causes crash #7158

Closed
mernest56 opened this issue Nov 23, 2021 · 2 comments · Fixed by #10846
Closed

Reference in Note causes crash #7158

mernest56 opened this issue Nov 23, 2021 · 2 comments · Fixed by #10846

Comments

@mernest56
Copy link

Overview

One reference in a note of an entry works fine.
Adding another reference in this note causes KeePassXC to crash:
"unknown software exception" (0x40000015) appeared at position 0x00007FFFD68D4F5.

Steps to Reproduce

Attached are 2 keepass DBs: "Ref1.kdbx" and "Ref2.kdbx" - no password.

  1. Open "Ref1.kdbx"
  2. Edit note of Ref1 / Bank / B1.
  • It's note contains a reference to note Ref1 / Bank / C1: "{REF:N@I:ABD457C6174F7C4B9B70FA53C73FB694}"
  1. The 2nd reference is prepared but not active "{ REF:N@I:ABD4"...
  2. Delete the blank past the second "{" - making the second refrence become active.
  3. Update entry
  4. Waiting circle icon appears - exception windows shows up (after some ten seconds).

Expected Behavior

Save the entry and DB.

Actual Behavior

Exception windows shows up (after some ten seconds).

Context

See attached DBs

  • "Ref1.kdbx" may be edited to cause the exception
  • "Ref2.kdbx" cannot be opened and causes the exception

KeePassXC - Version 2.6.6 (using the portable version)
Revision: 9c108b9

Qt 5.15.2
Diagnosemodus ist deaktiviert.

Betriebssystem: Windows 10 Version 2009
CPU-Architektur: x86_64
Kernel: winnt 10.0.22000

Aktivierte Erweiterungen:

  • Auto-Type
  • Browser-Integration
  • SSH-Agent
  • KeeShare (bestätigtes und unbestätigtes Teilen)
  • YubiKey

Kryptographische Bibliotheken:

  • libgcrypt 1.9.2-unknown

Operating System: Windows 11

Ref1_2.zip

@mernest56 mernest56 added the bug label Nov 23, 2021
@droidmonkey
Copy link
Member

droidmonkey commented Nov 27, 2021

Confirmed this is an infinite loop situation. Based on my limited debugging it appears that since both notes reference each other they enter into a hall-of-mirrors type replacement situation. This is supposed to be prevented by the recursion checks, but I think because there are TWO references in the notes it finds an edge case that is not accounted for. References in general need to be refactored, this is a good case to correct when that happens.

@methsmonker42zero
Copy link

My resolution:
Fresh install of KeepassXC did the trick. Forget what the previous installation was, so might have been an upgrade.
I had copied the massive text from Notes into the password field as well, just for fun. I also recently added Password Strength to my displayed columns, but that entry with the massive Notes has been displayed with Password Strength without crashing Keepass before so maybe adding that column is unrelated. After fresh install, having the massive text also in the Password field causes the UI to behave very weirdly when I sorted by Modified descending, but other sorts were fine.
Deleting the massive text from the Password field solves this UI problem too.

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

Successfully merging a pull request may close this issue.

4 participants