diff options
author | smcv <smcv@web> | 2016-03-22 02:47:09 -0400 |
---|---|---|
committer | admin <admin@branchable.com> | 2016-03-22 02:47:09 -0400 |
commit | 6b83d44593d20f8702c2b4c8756de640b1412114 (patch) | |
tree | b7739d0d5a500c78a12a70c2014a51f2468e040d /doc/plugins | |
parent | 4cee48b3ea754a28ef325b0ebc74ebe82dcfffd5 (diff) | |
download | ikiwiki-6b83d44593d20f8702c2b4c8756de640b1412114.tar ikiwiki-6b83d44593d20f8702c2b4c8756de640b1412114.tar.gz |
describe XSS issue
Diffstat (limited to 'doc/plugins')
-rw-r--r-- | doc/plugins/contrib/remark/discussion.mdwn | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/doc/plugins/contrib/remark/discussion.mdwn b/doc/plugins/contrib/remark/discussion.mdwn index 2a4dbe7b6..ab8d40912 100644 --- a/doc/plugins/contrib/remark/discussion.mdwn +++ b/doc/plugins/contrib/remark/discussion.mdwn @@ -38,4 +38,22 @@ they do, is that dangerous? --[[schmonz]] > Yes, it's likely both possible and dangerous. If you've already > deployed this plugin, make sure it's covered by [[plugins/lockedit]]. -> --[[smcv]] +> +> Every *page* that is not *internal* can be edited. Look at +> [[plugins/editpage]] for the (only) logic that is applied when deciding +> whether to accept an edit: whether there is an action link is irrelevant. +> +> Here *page* is a jargon term for something matching `page()`, i.e. its +> extension is the same as the name of a `htmlize` hook, while *internal* +> means a *page* whose extension additionally starts with `_`. +> +> I think there's a cross-site scripting vulnerability here. If there is +> some Markdown source that is seen as OK by +> [[plugins/htmlscrubber]] and [[plugins/htmlbalance]], but induces +> remark.js to produce HTML that is then evaluated in the security context +> of your wiki and executes attacker-supplied JavaScript in visitors' browsers, +> then an attacker able to edit the remark source could act with the +> privileges of your wiki and anything else that shares its origin +> (domain name). In particular, the attacker could steal login cookies. +> The simplest proof-of-concept would be something like +> `[click here](javascript:alert("XSS! " + document.cookie))`. --[[smcv]] |