what you don't know can hurt you
Home Files News &[SERVICES_TAB]About Contact Add New

TWiki 6.0.1 QUERYSTRING / QUERYPARAMSTRING XSS

TWiki 6.0.1 QUERYSTRING / QUERYPARAMSTRING XSS
Posted Dec 19, 2014
Authored by Onur YILMAZ, Robert Abela

TWiki version 6.0.1 suffers from a cross site scripting vulnerability in the QUERYSTRING and QUERYPARAMSTRING variables.

tags | exploit, xss
advisories | CVE-2014-9325
SHA-256 | 7d6060a6f3ac1cf0e347eac2b79617dbb2f7a92dda2f6ea4a24b643a009f569e

TWiki 6.0.1 QUERYSTRING / QUERYPARAMSTRING XSS

Change Mirror Download
This is an advisory for TWiki Administrators: The TWiki Variables QUERYSTRING and QUERYPARAMSTRING may expose a cross-site scripting vulnerability.

TWiki ( http://twiki.org ) is an Open Source Enterprise Wiki and Web Application Platform used by millions of people.

* Vulnerable Software Version
* Attack Vectors
* Impact
* Severity Level
* MITRE Name for this Vulnerability
* Details
* Countermeasures
* Hotfix for TWiki Production Release
* Verify Hotfix
* Authors and Credits
* Action Plan with Timeline
* External Links
* Feedback

---++ Vulnerable Software Version

* TWiki-6.0.1 [2]

---++ Attack Vectors

Attack can be done by viewing wiki pages or by logging in by issuing HTTP GET requests towards the TWiki server (usually port 80/TCP).

---++ Impact

Specially crafted parameters open up XSS (Cross-Site Scripting) attacks.

---++ Severity Level

The TWiki SecurityTeam triaged this issue as documented in TWikiSecurityAlertProcess and assigned the following severity level:

* Severity 3 issue: TWiki content or browser is compromised.

---++ MITRE Name for this Vulnerability

The Common Vulnerabilities and Exposures project has assigned the name CVE-2014-9325 [7] to this vulnerability.

---++ Details

A malicious person can use specially crafted URL parameters to TWiki scripts that execute arbitrary JavaScript code in the browser. Examples:

Specially crafted parameter to the view script of TWiki:

GET /do/view/Main/TWikiPreferences?'"--></style></script><script>alert('CVE-2014-9325 vulnerable')</script>

TWiki decodes the URL parameters and pops up a !JavaScript alert box showing "CVE-2014-9325 vulnerable!"

---++ Countermeasures

* Apply hotfix (see patch below).
* Use the web server software to restrict access to the web pages served by TWiki.

---++ Hotfix for TWiki Production Release

No TWiki patch release will be done to address this issue. Instead, apply the patches to the two files below.

---+++ Patch lib/TWiki.pm

Affected file: =twiki/lib/TWiki.pm=

=======( 8>< CUT )===============================================
--- TWiki.pm (revision 28488)
+++ TWiki.pm (working copy)
@@ -4803,7 +4803,10 @@

sub QUERYSTRING {
my $this = shift;
- return $this->{request}->queryString();
+ my $qs = $this->{request}->queryString();
+ # Item7595: Sanitize QUERYSTRING
+ $qs =~ s/(['\/<>])/'%'.sprintf('%02x', ord($1))/ge;
+ return $qs;
}

sub QUERYPARAMS {
=======( 8>< CUT )===============================================

The patch might be managed in the e-mail. Get this patch from http://develop.twiki.org/~twiki4/cgi-bin/view/Bugs/Item7595 [8]

---+++ Patch lib/TWiki/UI/View.pm

Affected file: =twiki/lib/TWiki/UI/View.pm=

=======( 8>< CUT )===============================================
--- TWiki/UI/View.pm (revision 28488)
+++ TWiki/UI/View.pm (working copy)
@@ -349,8 +349,14 @@
next if ($name eq 'topic');
push @qparams, $name => $query->param($name);
}
- $tmpl =~ s/%QUERYPARAMSTRING%/TWiki::_make_params(1,@qparams)/geo;

+ if ( $tmpl =~ /%QUERYPARAMSTRING%/ ) {
+ my $qs = TWiki::_make_params( 1, @qparams );
+ # Item7595: Sanitize QUERYPARAMSTRING
+ $qs =~ s/(['\/<>])/'%'.sprintf('%02x', ord($1))/ge;
+ $tmpl =~ s/%QUERYPARAMSTRING%/$qs/go;
+ }
+
# extract header and footer from the template, if there is a
# %TEXT% tag marking the split point. The topic text is inserted
# in place of the %TEXT% tag. The text before this tag is inserted
=======( 8>< CUT )===============================================

__Notes:__

* Learn how to apply patches: http://twiki.org/cgi-bin/view/Codev/HowToApplyPatch
* This issue is tracked at: http://develop.twiki.org/~twiki4/cgi-bin/view/Bugs/Item7595

---++ Verify Hotfix

To verify the patch add the following parameter to any TWiki topic:

?'"--></style></script><script>alert('CVE-2014-9325 vulnerable')</script>

The site is vulnerable if a dialog box is shown with text "CVE-2014-9325 vulnerable!"

---++ Authors and Credits

* Credit to Robert Abela ( robert[at]netsparker.com) and Onur Yilmaz (onur[at]netsparker.com) for disclosing the issue to thetwiki-security@lists.sourceforge.net mailing list.
* Peter Thoeny for verifying the issue, creating a fix, and creating the patch and advisory.

---++ Action Plan with Timeline

* 2014-12-09 - Robert Abela of Netsparker (https://www.netsparker.com/) discloses issue to TWikiSecurityMailingList
* 2014-12-09 - developer verifies issue - Peter Thoeny
* 2014-12-09 - developer fixes code - Peter Thoeny
* 2014-12-15 - security team creates advisory with hotfix - Peter Thoeny
* 2014-12-16 - send alert to TWikiAnnounceMailingList [5] and TWikiDevMailingList [6] - Peter Thoeny
* 2014-12-18 - publish advisory in Codev web and update all related topics - Peter Thoeny
* 2014-12-18 - issue a public security advisory to fulldisclosure[at]seclists.org, cert[at]cert.org, vuln[at]secunia.com, bugs[at]securitytracker.com, submissions[at]packetstormsecurity.org - Peter Thoeny

---++ External Links

[1]: http://twiki.org/cgi-bin/view/Codev/TWikiSecurityAlertProcess
[2]: http://twiki.org/cgi-bin/view/Codev/TWikiRelease06x00x01
[3]: http://twiki.org/cgi-bin/view/Codev/SecurityAlert-CVE-2014-9325 (will be created on 2014-12-18)
[4]: http://twiki.org/cgi-bin/view/Codev/TWikiSecurityMailingList
[5]: http://twiki.org/cgi-bin/view/Codev/TWikiAnnounceMailingList
[6]: http://twiki.org/cgi-bin/view/Codev/TWikiDevMailingList
[7]: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-9325 - CVE on MITRE.org
[8]: http://develop.twiki.org/~twiki4/cgi-bin/view/Bugs/Item7595

---++ Feedback

Please provide feedback at the security alert topic, http://twiki.org/cgi-bin/view/Codev/SecurityAlert-CVE-2014-9325

-- Peter Thoeny - 2014-12-18


--
> Peter Thoeny - Peter09[at]Thoeny.org
> http://bit.ly/MrTWiki - consulting on enterprise collaboration
> http://TWiki.org - is your team already TWiki enabled?
> Knowledge cannot be managed, it can be discovered and shared
> This e-mail is: (_) private (_) ask first (x) public
Login or Register to add favorites

File Archive:

March 2024

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    Mar 1st
    16 Files
  • 2
    Mar 2nd
    0 Files
  • 3
    Mar 3rd
    0 Files
  • 4
    Mar 4th
    32 Files
  • 5
    Mar 5th
    28 Files
  • 6
    Mar 6th
    42 Files
  • 7
    Mar 7th
    17 Files
  • 8
    Mar 8th
    13 Files
  • 9
    Mar 9th
    0 Files
  • 10
    Mar 10th
    0 Files
  • 11
    Mar 11th
    15 Files
  • 12
    Mar 12th
    19 Files
  • 13
    Mar 13th
    21 Files
  • 14
    Mar 14th
    38 Files
  • 15
    Mar 15th
    15 Files
  • 16
    Mar 16th
    0 Files
  • 17
    Mar 17th
    0 Files
  • 18
    Mar 18th
    10 Files
  • 19
    Mar 19th
    32 Files
  • 20
    Mar 20th
    46 Files
  • 21
    Mar 21st
    16 Files
  • 22
    Mar 22nd
    13 Files
  • 23
    Mar 23rd
    0 Files
  • 24
    Mar 24th
    0 Files
  • 25
    Mar 25th
    12 Files
  • 26
    Mar 26th
    31 Files
  • 27
    Mar 27th
    19 Files
  • 28
    Mar 28th
    42 Files
  • 29
    Mar 29th
    0 Files
  • 30
    Mar 30th
    0 Files
  • 31
    Mar 31st
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2022 Packet Storm. All rights reserved.

Services
Security Services
Hosting By
Rokasec
close