Clear does not remove copied content from Zeitgeist database

Bug #1921507 reported by Sam Watkins
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Diodon
Fix Released
Critical
Oliver Sauder
diodon (Debian)
Won't Fix
Unknown

Bug Description

I had a look in my zeitgeist activity.sqlite just now, and found 526MB of "activity" stored in the clear, including a whole lot of information which I do not want to be logged: at least three of my main passwords including my main server password, URLs of porn I have downloaded, whole files and other large chunks of text I have copy-pasted, commands I've entered in bash with history turned off, etc.

Chrome and bash do not appear to be doing this. After investigating a little more, it appears that Clipit aka Diodon saves everything I copy-paste to Zeitgeist, and it is not cleared from the "text" table when I press clear in the applet. I don't know if this is intentional or a bug, but it is user-hostile, and I feel that it is a major privacy and security concern.

I used commands like the following to check what has been logged.

> cd ~/.local/share/zeitgeist
> sqlite3 activity.sqlite
> select * from text where value like '%pass%' and length(value) < 1000; -- put a bit of one of your passwords between %s in the query
> select * from text where value like '%porn%' and length(value) < 1000; -- smut
> select * from text where (value like '%mp4' or value like '%jpg' or value like '%torrent') and length(value) < 1000; -- media / smut / torrents
> select * from text where length(value) > 1000; -- large copy/paste or files

I wrote some more about this issue on AskUbuntu: https://askubuntu.com/a/1326275/81260

Changed in diodon (Debian):
status: Unknown → Won't Fix
Revision history for this message
Oliver Sauder (sao) wrote :

Thanks for reporting. It is intended that the clipboard history gets stored in Zeitgeist and uses the privacy feature of Zeitgeist on how to manage what gets recorded or not.

It is certainly a bug though that clipboard information is left behind in the sqlite database once `Clear` has been executed in Diodon.

As a workaround to avoid this it is actually possible to run Zeitgeist storage in memory by setting `ZEITGEIST_DATABASE_PATH` env to `:memory:`.

Use for instance following command to do this:

echo "ZEITGEIST_DATABASE_PATH=:memory:" >> ~/.pam_environment

Read more on this here https://esite.ch/2020/02/diodon-1-9-0-storing-clipboard-items-in-memory-and-more/

I am looking into this bug as it is a delicate issue and will let you know when I have found out more.

Changed in diodon:
status: New → Confirmed
importance: Undecided → Critical
assignee: nobody → Oliver Sauder (sao)
summary: - diodon logs copious sensitive information to zeitgeist and does not
- clear it
+ Clear does not remove copied content from Zeitgeist database
Oliver Sauder (sao)
Changed in diodon:
status: Confirmed → In Progress
Revision history for this message
Oliver Sauder (sao) wrote :

After doing some research I have found the issue why not all data is cleared. The issue is actually in the Zeitgeist library itself. I have reported an issue at [0] and hope to get an response soon.

[0] https://gitlab.freedesktop.org/zeitgeist/zeitgeist/-/issues/23

Revision history for this message
Oliver Sauder (sao) wrote :

I have created a patch upstream in Zeitgeist to address this issue. See https://gitlab.freedesktop.org/zeitgeist/zeitgeist/-/merge_requests/3

I will keep this issue updated on progress of integrating such a patch.

Revision history for this message
Oliver Sauder (sao) wrote :

My patch got accepted upstream therefore marking this as `Fix Committed`. It has not been released yet though.

Changed in diodon:
status: In Progress → Fix Committed
Revision history for this message
Oliver Sauder (sao) wrote :

Zeitgeist 1.0.4 actually has been released a while ago which includes the fix for this. Marking this therefore as released. See https://gitlab.freedesktop.org/zeitgeist/zeitgeist/-/tags/v1.0.4.

Changed in diodon:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.