Skip to content

Nonce increment incorrect when multiple bytes need changing #9

@causalnet

Description

@causalnet

Please agree to the following

Summary

Every so often, calls to keepassxc get stuck, which seems to be caused by nonce increment code not matching keepassxc's incremented nonces when multiple bytes need to be incremented

What software is involved?

KeePassXC 2.7.4
Reproduced bug on both Windows and Linux OSes.

Steps to Reproduce

Keep making KeepassXC calls, such as Connection.getLogins() although it can happen with any call that requires a response that needs incremented nonce matching. Most will work, but about 1 in 256 will get stuck and block forever. Debugging it, this seemed to be due to the nonce of KeepassXC's response not matching what Connection.incrementNonce() has calculated it should be.

This happens when the last nonce byte rolls over from 255 to 0. Proxy access's increment code only increments the last byte, but KeepassXC's will increment the next byte (and so on) in this case.

Expected Behavior

Nonce should match and call should work every time.

Actual Behavior

Occasionally calls get stuck and block forever.

Reproducibility

Intermittent

Relevant Log Output

No response

Anything else?

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingconfirmedThis is a bug

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions