Pico Server (pServ) Information Disclosure Of CGI Sources
RedTeam found a Information Disclosure vulnerability in Pico Server (pServ) which gives an attacker the ability to read all files from cgi-bin.
Product: Pico Server (pServ)
Affected Version: 3.2(verified), <=3.2 probably too
Immune Version: 3.3
OS affected: all
Vendor-Status: new version available
Pico Server is a small web server. It is meant to be portable and configurable.
* small, portable
* CGI-BIN support
* auto-indexing of directories
* access and error logging (see p-reporter for an analyzer) * forking or single-connection at choice
Pico Server (pServ) is written in portable C (K&R style so it can compile on older compilers too) and sports several options that by means of #define statements can customize the behavior, the performance and the feature set so to be able to fit better the the requisites.
Pserv does not correctly check whether a user accesses a file in cgi-bin and gives away the source instead of executing it.
pServ has CGI-BIN support. Only URLs beginning with "cgi-bin" are treated as cgi-scripts.
pServ checks, whether a file is in cgi-bin by checking whether the beginning of the directory part of the url matches "cgi-bin". A user can circumvent this by asking for /somedir/../cgi-bin/ and therefore is able to retrieve the complete sourcecode of all scripts in cgi-bin.
Proof of Concept
This url lets us download the source of test.pl instead of executing it. http://vuln-host:2000/somedir/../cgi-bin/test.pl
The Developers have released Version 3.3. This version should fix the problem. The changes have not been tested by RedTeam, yet.
The security risk is rated medium because a remote attacker can get source code that would otherwise not be available to him. This can help the attacker in further attacks. As many programmers put sensitive configuration parameters like database passwords in the source code this attack can be quite harmful.
2005-05-02 first attempt to inform developers
2005-05-02 CAN-number assigned
2005-05-04 second attempt to inform developers
2005-05-16 new version released. Advisory published.
2009-05-08 Updated Advisory URL
RedTeam is a penetration testing group working at the Laboratory for Dependable Distributed Systems at RWTH-Aachen University. You can find more Information on the RedTeam Project at