You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -251,6 +257,15 @@ which are of very limited value for an attacker.
251
257
For these reason, we do not recommend a specific replay protection mechanism at this time. If/when the need arise, the extensibility of
252
258
the manifest will provide the necessary room to enforce a replay protection envelope (eg:JWT) for affected dapp.
253
259
260
+
### Malicious manifests
261
+
262
+
The manifest itself could be attacked, defeating the purpose of TWIST. We identified the following possible attacks, and their counter measure:
263
+
264
+
1. An attacker can spoof DNS entries and use it to serve their own manifest: to avoid this, the wallet implementation MUST only query the manifest from `'https://' + sender.tab.url + '/' + pathFromDNSRecord
265
+
2. An attacker can leverage other flaws in a dapp to host a malicious manifest on the dapp domain itself
266
+
a. by leveraging open redirect: consequently the wallet MUST NOT follow redirect when querying the manifest
267
+
b. by managing to host a file on the dapp domain: consequently the wallet SHOULD verify the `content-type` header is equal to `application/json` to mitigate this attack vector
268
+
254
269
## Copyright
255
270
256
271
Copyright and related rights waived via [CC0](../LICENSE.md).
0 commit comments