hackmdio / hackmdio/codimd

Open Redirect / XSS via iframe with sandbox.

Aperta
#1,263 5 commenti 1 reazione 0 assegnatari Vedi su GitHub
Lingua principale
JavaScript
Stelle
10.1k
Fork
1.1k
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

## Summary
This is similar issue to #959, but different cause.
Due to `sandbox` attribute is allowed, attacker can redirect victim to something malicious if attacker embeds iframe with `allow-top-navigation` in `sandbox` attribute.
#959 won't work in Chrome because of their security, but this will work due to `sandbox` is whitelist attribute.
This will be XSS in Safari by using data scheme.
## Step to reproduce
1. Type `````` in Editor. (It doesn't work because my domain is expired.)
2. View edited page.

[PoC](https://demo.codimd.org/YcIX0oKzQAuZMMOqxeASdg)
(This PoC will redirect you to [example.com](https://example.com))

## CVE
[CVE-2019-15499](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-15499)

## Suggested fix
Don't allow `sandbox` attribute in public/js/render.js.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia in public/js/render.js, dove l’issue identifica l’attributo sandbox come punto di ingresso rilevante. Riproduci l’esempio di iframe o esamina il PoC collegato, quindi verifica che il contenuto pubblico sottoposto a rendering non consenta più questo attributo e che il comportamento di redirect o XSS di Safari con data-scheme sia impedito.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
javascript
Ambito
frontend, security
Tipo di issue
Bug
Difficoltà
2/5
Tempo stimato
1-3 ore
Stato di attività
Ferma
Chiarezza
Specificata chiaramente
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.