AppFlowy-IO / AppFlowy-IO/AppFlowy
[Bug][Security] Markdown does not have any URI scheme restrictions
- Lingua principale
- Dart
- Stelle
- 76.6k
- Fork
- 6k
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
### Bug Description
There doesn't seem to be a URI scheme validation when the URL is already set on the link.
This makes it possible for attackers to make a malicious link that can open any kinds of URI on the client side, including any executables, deeplinks and files on the directory.
As a result, an attacker can maliciously craft a payload to harm other users by leaving a link on the page.
It may not sound exploitable at all, but if the victim's system has an application that has a vulnerability in the deeplink implementation, this issue can be leveraged to execute an arbitrary code execution.
### How to Reproduce
## Opening `cmd.exe`
1. Create a new document with the following text
```
[Click Me](file:///C:\Windows\System32\calc.exe)
```
2. Convert it to the link -- You can remove `)` and readd `)` to make it to a link
3. Click on a link, Open link
4. Confirm that cmd is opened

## Other possible deeplinks
```
[deeplink1](appflowy-flutter://#access_token=1234&refresh_token=1234)
[deeplink2](AppFlowy://12341234)
[deeplink3](calculator://1)
```
### Expected Behavior
URL needs to be validated and needs to print `Incorrect Link`.
### Operating System
Windows 11 x86_64
### AppFlowy Version(s)
0.5.4
### Screenshots
_No response_
### Additional Context
_No response_
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Valutazione
Questa issue non è ancora stata valutata.