qlipper icon indicating copy to clipboard operation
qlipper copied to clipboard

Clipboard content not deleted by KeePassX

Open stefonarch opened this issue 10 years ago • 4 comments

Password manager like KeePassX use to clean clipboard content after 20 seconds or so when copying username/passwd, which works well in klipper but not in qlipper. Not sure if this is an issue of qlipper but it is a security problem for sure.

stefonarch avatar Jun 07 '15 08:06 stefonarch

actually I was able to find only "it's not working in klipper" reports http://sourceforge.net/p/keepass/bugs/1039/ https://bugzilla.redhat.com/show_bug.cgi?id=1275601 ...

Also I looked (very vaguely) into klipper source code with no "keepassx"reference.

So can you explain me how it should work, please?

pvanek avatar Feb 08 '16 20:02 pvanek

KeepassX (maybe also other password managers) delete the whole clipboard history after ~20 seconds for security reasons. If someone has a lot of entries saved some passwords would be readable for a long time. I think it's keepassX that "finds" the clipboard history and deletes the whole, not only the last entry (the passwd). I just tested klipper again with keepassx, it's working, history is cleaned up.

stefonarch avatar Feb 08 '16 21:02 stefonarch

I did check the keepassx, it just clears the QClipboard content -> https://github.com/keepassx/keepassx/blob/master/src/gui/Clipboard.cpp#L63. But in qlipper we don't see this change/clear, the signal QClipboard::changed isn't emitted... this looks like a bug in Qt itself to me (if the QClipboard::clear() is issued from the same binary, the signal is emitted).

palinek avatar Nov 07 '16 09:11 palinek

the signal QClipboard::changed isn't emitted... this looks like a bug in Qt itself

FYI: https://bugreports.qt.io/browse/QTBUG-56972

But even if this bug is fixed (patch provided), there is no available API in Qt to know if the clipboard was cleared intentionaly by application or the application just exited (in XCB environment).

palinek avatar Nov 08 '16 07:11 palinek