Security Vulnerabilities
.inc File Vulnerability
Background
dadaIMC is content management software for the development of an Independent Media Center site.
Description
dadaIMC prior to version .99 stores database connectivity information in a file named "imc_dbinfo.inc" in the root directory of the site. The dadaIMC documentation indicates that Apache's configuration file should prevent ".inc" files from being served, but some system administrators may not have taken -- or may not be able to take -- the necessary precautions. This means that the file "imc_dbinfo.inc" may be viewed in a regular web browser, exposing database connectivity information (including username and password) to potential attackers.
Analysis
Exploitation allows for an attacker to gain access to the username and password used by dadaIMC for database connectivity. On a server whose MySQL configuration allows connections from remote hosts, this opens the entire dadaIMC database up to manipulation.
Detection
All versions of dadaIMC prior to .99 are vulnerable.
Workaround
Aside from upgrading to version .99 of dadaIMC, there are 2 workarounds for this issue:
Modify Apache's httpd.conf file to include a directive indicating that files ending in ".inc" should not be served:
<Files ~ "\.inc$"> Order allow,deny Deny from all </Files>This directive may also be placed in a .htaccess file at the root level of your site.
Alternately, you may rename the file "imc_dbinfo.inc" to "imc_dbinfo.php". This requires that you edit the /imc_classes/imc_master_includes.inc and /imc_classes/imc_Prefs.inc files also. In imc_master_include.inc , change the
require_once('imc_dbinfo.inc')
to require_once('imc_dbinfo.php')
In the imc_Prefs.inc file, find the update() function, locate the "Administrative/default" case, and change 3 instances of "imc_dbinfo.inc" to "imc_dbinfo.php" (in 1 comment, 1 filename, 1 echo command).
Timeline
This vulnerability was noted in the original documentation in every version of dadaIMC.
Credit
This was a known design implementation since early development
Report Bugs
dadaIMC uses the Mantis bug-tracking system for bug reporting. Please use it! And check for existing reports of your bug before submitting a new one.
CVS
The current CVS version of dadaIMC is now browseable online. Be forewarned, though, that it is not always in a useable state as-is!
