Passive Permission-less Eavesdropper and MITN Swap attack on Flet applications.
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 17k
- Forks
- 694
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 33
Description
Summary
Upon testing I found out that Flet applications (specifically in windows, but could work on any platform) are susceptible to a passive, permission-less eavesdropper that can get information about the: Displayed or Rendered UI objects (such as Text, Image sources and more), as well as User interactions (Button Presses, Text Entries and more). They are also able to silently perform an MITN attack and swap parts or entire UI components without the Python or the Flutter side noticing.
Why you shouldn't be worried
This attack needs to have a malicious program on the infected computer to be successful. Meaning that this only works IF YOU HAVE BEEN INFECTED by a malicious 3rd party.
How Flet can mitigate this issue
Upon discussion with @FeodorFitsner, we have come to the conclusion of adding the option of encrypting and authenticating the payloads sent between the Pythonic and the Flutter side of the application, it will have the name of encrypted_channel (bool). I will be working on opening a pull request about this as soon as possible.
Attack Example
In the above, we have a Text Entry and A Button where we can eavesdrop on their updates.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files or tests are named. Start by locating the communication channel between the Pythonic and Flutter sides of Flet and review how its payloads are sent; done means an optional encrypted_channel setting protects and authenticates those payloads without either side silently accepting altered UI or interaction data.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- flutter, python
- Domain
- security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100