Twitter on Thursday warned of an esoteric bug that, in limited circumstances, allowed users' non-public profile information to potentially fall into the hands of other users.
If you used Firefox on a shared PC to, for example, send or receive media in private Twitter messages, or download an archive of your profile that contained non-public information, be aware this data was inadvertently cached on the computer.
Picture this scenario, for instance: you share a PC at home with family. You have one user account between you all. You log in, open Twitter in Firefox, and send and receive some funny GIFs in private messages. You then log out of Twitter, close Firefox, and log out of the computer. Someone else in your home then logs into that computer account, and they'll be able to find a cached copy of that private message media in Firefox's files.
This is because, it seems, Firefox got the impression from Twitter that it should cache this private information. Chrome and Safari, at least, do not cache this private information. This bug is only a problem if you don't trust those sharing your PC, which would be weird: there are other ways for them to spy on you, if you all share the same computer account.
Below is an alert sent by Twitter to its users today warning of this scenario:
Twitter did not specify what exactly caused private data to collect in the browser cache, though it appears a HTTP header was not used as expected, causing Firefox to retain media files and downloaded data for up to seven days.
"We recently learned that the way Mozilla Firefox stores cached data may have resulted in non-public information being inadvertently stored in the browser's cache," Twitter said in an advisory on its website.
"This means that if you accessed Twitter from a shared or public computer via Mozilla Firefox and took actions like downloading your Twitter data archive or sending or receiving media via Direct Message, this information may have been stored in the browser’s cache even after you logged out of Twitter."
Mozilla engineer Dave Townsend summarized the issue:
It seems that when a certain HTTP header is used (which has no defined effect on caching behaviour) Chrome has chosen to not cache the content. Firefox will cache the content unless the Cache-Control header says not to (just like all other HTTP requests).— Dave Townsend (@EnglishMossop) April 2, 2020
Mozilla, meanwhile, noted that this is not something that would be remotely accessible to miscreants, for what that is worth. "When you use Firefox, cached data stays local on that device," a spokesperson told El Reg. "So if the data stayed in the cache, that would only have been viewable on that device."
There isn’t a standard for how browsers cache downloaded data. We noticed that the way Firefox stores cached Twitter data is different (but not wrong) than other browsers and could put your non-public info at risk. We made changes to protect your Twitter data if you use Firefox.— Twitter Support (@TwitterSupport) April 2, 2020
The social network also seems convinced it can fix the problem at its end, presumably by changing the HTTP header in question, meaning no Firefox updates will be needed.
"We have implemented a change on our end so that going forward the Firefox browser cache will no longer store your personal information," Twitter said. "If you use, or have used, a public or shared computer to access Twitter, we encourage you to clear the browser cache before logging out, and to be cautious about the personal information you download on a computer that other people use." ®