01116: XSS vulnerability in Forms

Summary: XSS vulnerability in Forms
Created: 2009-07-13 06:14
Status: Closed for 2.2.3
Category: Bug
Assigned:
Priority: 3
Version: 2.2.2
OS: Win32/Apache2.2/PHP5.2

Description: <Babelfish>

It is now becoming increasingly difficult even to find new vulnerabilities, but I was lucky again:
One has the option forms for a specific form to be activated.
This will be done internally by JavaScript. - Well, I wrote this code a little expanded:
(:input submit id=XSS value=$[Go]:)
(:input hidden id="XSS').value='Hello World!';\
alert('Cookies, I Love Cookies:\n'+document.cookie);\
document.getElementById('XSS" focus name=XSS value=Attack:)

This bug has been PmWiki 2.2.0.beta53 up to the latest version 2.2.2 available.
Another possible vulnerability, I have to Site.InterMAP? found - but they all failed attacks are:
Intermap yes this serves to show links in the wiki easier.
Instead of a URL, I have made this entry: XSS: $1?'></a><script>alert(String.fromCharCode(88,83,83))</script>
Then I tried hereby called (:div id='XSS:{$Name}' :)
It has not worked, because I do not have a chance to put ' but the HTML-code looks still very worrying from:
<div id='<a class='urllink' href='InterMap?%27></a><script>alert(String.fromCharCode(88,83,83))</script>' rel='nofollow'>XSS:InterMap</a>' >
As for links Intermap only thought is, all dangerous characters devalued or removed.
I believe so slow, I have all XSS vulnerabilities found - because the search for more vulnerabilities lasts longer...

</Babelfish>


<German>

Es wird jetzt immer schwieriger noch neue Schwachstellen zu finden, aber ich hatte wieder glück:
Man hat für Formulare die Möglichkeit ein bestimmtes Formular zu aktivieren.
Dies wird intern mit JavaScript gemacht. - Nun ja, ich habe diesen Code ein wenig erweitert: (Siehe oben)
Dieser Bug ist seit PmWiki 2.2.0.beta53 bis zur aktuellen Version 2.2.2 vorhanden.
Eine weitere mögliche Schwachstelle habe ich in Site.InterMAP? gefunden - aber alle Angriffe sind fehlgeschlagen:
InterMAP dient ja dazu um Links im Wiki zu vereinfachen.
Statt eine Url, habe ich diesen Eintrag gemacht: XSS: $1?'></a><script>alert(String.fromCharCode(88,83,83))</script>
Dann habe ich es versucht hiermit aufgerufen: (:div id='XSS:{$Name}' :)
Geklappt hat es nicht, da ich keine Möglichkeit habe ein ' zu setzen, aber der HTML-Code sieht dennoch sehr bedenklich aus:
<div id='<a class='urllink' href='InterMap?%27></a><script>alert(String.fromCharCode(88,83,83))</script>' rel='nofollow'>XSS:InterMap</a>' >
Da InterMAP nur für Links gedacht ist, sollten alle gefährlichen Zeichen entwertet oder entfernt werden.
Ich glaube, so langsam habe ich alle XSS-Schwachstellen gefunden - denn die Suche nach weiteren Schwachstellen dauert immer länger...

</German>

Hi, Danke again! Both the <> in InterMap links and the form id= and name= parameters should be fixed in SVN and in the next release, which will happen tonight or tomorrow. Thanks! --Petko July 13, 2009, at 07:36 AM