Evernote EXB File Puts Your Notes At Risk!
April 29, 2016
Evernote has been a well respected, popular note taking application used my millions of people worldwide for quite some time now. I myself have been a promoter of Evernote and even a paid customer at one time. Keeping this much data from prying eyes can definitely be a challenge for many companies. In 2013 Evernote’s systems were breached and 50 Million users were forced to change their passwords for precautionary reasons.
I wanted to share a security issue I have discovered with Evernote, not to throw stones at the company, but to spread awareness to help secure the confidentiality of your notes in Evernote.
A few weeks ago, I switched over to a new laptop at work. I was poking around in my Evernote database folder on my system and was particularly interested in my EXB file. The EXB file is stored in the C:\Users\%USERNAME%\Appdata\Loca\Evernote\Evernote\Databases folder and acts as a local replica of your Evernote database. All of your notes are stored in this database. When you update or create a note, that data gets stored in the EXB file and gets synchronized back to the cloud under your account.
So what’s the risk?
Evernote EXB files are stored in plain text. The file is named with your user name with the extension .EXB. For example, if your Evernote user name was JohnDoe1999 then your EXB file would be JohnDoe1999.EXB. What I discovered was that if someone was to get a hold of your EXB file, it’s actually quite simple to access all the notes for that user without even knowing that users Evernote password.
Proof of Concept:
For this example, let’s pretend my Evernote user name is CtrlAltDel, my laptop that has Evernote installed on was stolen, and the person who found it removed my hard drive, connected it to their system and now has full access to the file system.
How does the bad actor get access to my notes?
- Install the Evernote client on his computer, register an account and login. Once logged in, Evernote will create a new EXB file for his account name under C:\Users\BadActor\Appdata\Loca\Evernote\Evernote\Databases. Let’s say his account is badguy101.
- The bad actor kills the Evernote client and terminates all Evernote processes.
- The bad actor renames his EXB file (badguy101.exb) to something else, and copies my EXB file to his database folder.
- The bad actor renames my EXB file, to his account name.
- The bad actor unplugs or disables his network connection so that when he logs in Evernote will use cached credentials to login.
- The bad actor logs in to his account with cached credentials. The Evernote application starts and opens the EXB file which he has renamed to his account which is actually my EXB file.
- Once opened, the bad actor can access all of my notes. Of course, encrypted notes will stay encrypted.
I reached out to Evernote to report this issue, but it appears they are already aware of the limitations of the EXB file. The response I got is that your database is stored unencrypted locally and on their server. The connection between your system and their servers is encrypted with a TLS connection and that it’s up to the end user to take precautionary steps to secure their systems to prevent unauthorized access.
So what precautionary steps can you take?
- Well for one, don’t install the Evernote client on untrusted or shared systems.
- Encrypt confidential notes using the encryption method built in to Evernote.
- Move your Evernote database out of the default location, and store it somewhere only you have access to it.
- If you’re an advanced user, consider creating an encrypted volume using a tool such as VeraCrypt and move your database to the encrypted volume.
- Use the Evernote Web Client only!
Written By: Amardeep Juneja