Vendor Description
“VLC is a free and open source cross-platform multimedia player and framework that plays most multimedia files as well as DVDs, Audio CDs, VCDs, and various streaming protocols.”
Source: https://itunes.apple.com/us/app/vlc-for-mobile/id650377962?mt=8
Business Recommendation
The identified vulnerability allows attackers to steal arbitrary files (accessible by the app) from the mobile device.
SEC Consult recommends not to enable “Sharing over WiFi” feature in VLC for iOS which allows wireless file transfer to/from PC until a thorough security review has been performed by security professionals and all identified issues have been resolved.
Vulnerability Overview/ Description
1) Local file disclosure
The ‘Sharing over WiFi’ feature in VLC for iOS is vulnerable to a local file disclosure vulnerability. An attacker can read any files which can be accessed with current application privileges. This issue can lead to data theft.
Proof Of Concept
1) Local file disclosure
The example below shows how the LFD vulnerability can be exploited.
URL : http://$IP:$PORT/download/<path-to-file-or-folder> METHOD : GET EXAMPLE : http://$IP:$PORT/download//etc/passwd
The source code excerpt below shows the vulnerable code of the mobile app:
VULN. FILE : Sources/VLCHTTPConnection.m VULN. CODE : [...] - (NSObject<HTTPResponse> *)_httpGETDownloadForPath:(NSString *)path { NSString *filePath = [[path stringByReplacingOccurrencesOfString:@"/download/" withString:@""]stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; HTTPFileResponse *fileResponse = [[HTTPFileResponse alloc] initWithFilePath:filePath forConnection:self]; fileResponse.contentType = @"application/octet-stream"; return fileResponse; } [...]
Vulnerable / Tested Versions
VLC version 2.7.8 has been tested on iOS 10.3.3 and found to be vulnerable.