Automattic / Automattic/simplenote-android
Passcode can be bypassed via FAB in note list widget
- Dominant language
- Java
- Stars
- 1.9k
- Forks
- 318
- Avg merge
- 15h 23m
- Merged PRs (30d)
- 5
Description
This is a bit of an edge-case.
### Expected
Since passcode is a measure to protect notes from being viewed, it should be impossible to fully view any note without passcode, if passcode is activated.
### Observed
When `Note List` widget is added, it already previews a bit of a note content, but it's up to the user (they can have condensed mode activated). The issue is that when the user clicks `New Note` button in the widget, they will not be asked for a passcode. After that, they will be able to insert an interlink to any note by typing `[...`, going to preview mode, and opening the referred note. Video below partly shows this (screenshots not available with passcode activated. The first seconds are a proof that passcode is activated, what happens next during blackout is described in steps below):
https://user-images.githubusercontent.com/73365754/129021663-3ef629cc-389b-4299-a8a4-ad7339bdbf4e.mp4
### Reproduced
1. Have passcode enabled
2. Add `Note List` widget to your home screen
3. Expand the widget vertically enough to see the FAB
4. Tap the FAB ~> you will be redirected to new note creation without being asked for passcode.
5. Enable markdown
6. Type `[x` where x is a starting letter of some of your notes name
7. Tap the proposed note from autocomplete pop-up ~> the interlink will be inserted
8. Open Preview and tap the interlink ~> you will see the other note full content.
Device Make: Samsung Galaxy
Device Model: A31
Android Version: 10
Simplenote Version: 2.19-rc-1
Contributor guide
Research direction
Start by tracing the Note List widget FAB's new-note flow and checking where the passcode gate is applied. Then follow the markdown interlink autocomplete and preview path described in the reproduction steps; done means passcode-protected users cannot reach another note's full content through this route.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, java
- Domain
- authentication, mobile, security
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100