TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Malicious Subtitles Threaten Kodi, VLC and Popcorn Time Users

467 pointsby seycombialmost 8 years ago

29 comments

ConfucianNardinalmost 8 years ago
Was annoying to find the details.<p>Looks like PopcornTime was rendering subtitle text as HTML, inside their app (html&#x2F;js-based), creating an XSS vector (looking at <a href="https:&#x2F;&#x2F;github.com&#x2F;popcorn-official&#x2F;popcorn-desktop&#x2F;commit&#x2F;a9aa8e16610ee8cb23ba4a6452c5a69bf88d9107" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;popcorn-official&#x2F;popcorn-desktop&#x2F;commit&#x2F;a...</a>, <a href="https:&#x2F;&#x2F;github.com&#x2F;butterproject&#x2F;butter-desktop&#x2F;pull&#x2F;602" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;butterproject&#x2F;butter-desktop&#x2F;pull&#x2F;602</a>). Likely the javascript runtime they&#x27;re using allows file access and execution of arbitrary executables, enabling the metasploit shell shown in the demo.<p>For VLC there are a bunch of out of bound reads and heap buffer overflows.<p><pre><code> f2b1f9e subtitle: Fix potential heap buffer overflow 611398f subtitle: Fix potential heap buffer overflow ecd3173 subsdec: Fix potential out of bound read 62be394 subsdec: Fix potential out of bound read 775de71 subtitle: Fix invalid double increment. </code></pre> The article implies that VLC and the others are affected by the same issue (leading to code execution), but according to available information it seems to be completely different issues.<p>The Kodi issue was a zip archive path traversal (i.e. no protection against zip files extracting files to parent directories).
评论 #14410208 未加载
评论 #14409263 未加载
评论 #14409616 未加载
评论 #14409971 未加载
评论 #14409973 未加载
评论 #14411253 未加载
OneLessThingalmost 8 years ago
I did security research on VLC on Windows a year or two ago. I may be remembering incorrectly, but last I recall every module was protected by ASLR. Which means that remote code execution is not likely because there is no scripting or network comms to dynamically create a valid ROP chain.<p>I also didn&#x27;t check for executable heaps at the time but given that all heaps are non executable (which they really shouldn&#x27;t be executable in VLC) again I don&#x27;t see how RCE is possible. Maybe there is some way to validate and therefore brute force addresses? I don&#x27;t know. But there was no VLC POC and I&#x27;m sure they would have made one if they could have.<p>Use VLC it&#x27;s the most secure media player I&#x27;ve seen.
评论 #14410889 未加载
评论 #14410355 未加载
评论 #14410895 未加载
评论 #14410350 未加载
resoluti0nalmost 8 years ago
Kodi 17.2 with the fix for this flaw has now been released:<p><a href="https:&#x2F;&#x2F;kodi.tv&#x2F;article&#x2F;kodi-v172-minor-bug-fix-and-security-release" rel="nofollow">https:&#x2F;&#x2F;kodi.tv&#x2F;article&#x2F;kodi-v172-minor-bug-fix-and-security...</a>
kutkloon7almost 8 years ago
The thing that most amazes my about Popcorn Time is how they find the subtitles. It seems to succeed even when I can&#x27;t find subtitles myself.<p>More related to the article, you would think that subtitles are literally the easiest file format in existence to safely handle. It&#x27;s incredibly well-defined in terms of textual data and times.
评论 #14409514 未加载
评论 #14409422 未加载
评论 #14412686 未加载
评论 #14410062 未加载
_jomoalmost 8 years ago
These are the VLC commits adressing the issue:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;videolan&#x2F;vlc&#x2F;search?utf8=%E2%9C%93&amp;q=subtitle+OR+subsdec+%22checkpoint.com%22&amp;type=Commits" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;videolan&#x2F;vlc&#x2F;search?utf8=%E2%9C%93&amp;q=subt...</a>
评论 #14409191 未加载
评论 #14410072 未加载
评论 #14409176 未加载
mrmondoalmost 8 years ago
Interestingly running VLC 2.2.4 on MacOS 10.12 and checking for updates returns &#x27;VLC 2.2.4 is currently the newest version available.&#x27;, obviously I downloaded 2.2.5.1 from videolan.org but still odd.
评论 #14409160 未加载
评论 #14409134 未加载
评论 #14409086 未加载
greggmanalmost 8 years ago
AFAICT every plugin to Kodi has full machine access. Subtitles of course you don&#x27;t expect to install malware but I wish plugins ran in a sandbox
pawadualmost 8 years ago
Slightly related to this: where can I find data sanitizers for common file formats (PDF, MP3 and so on)?
评论 #14411404 未加载
评论 #14409358 未加载
runeksalmost 8 years ago
Can anyone recommend a video player written in a memory-safe language for OSX that handles MKV files? Or is the simple truth that the problem lies in the parsers, which are shipped as a library written in C, because no sane developer wants to rewrite parsers for 25 different subtitle formats when writing a video player?
评论 #14409800 未加载
sotojuanalmost 8 years ago
What about mpv? That&#x27;s my preferred video player.
评论 #14409310 未加载
评论 #14409276 未加载
sparakeralmost 8 years ago
It would be interesting to see which subtitles are using these vulnerabilities and what they are achieving with them. We could estimate how long this has been around.
mplewisalmost 8 years ago
This is another reason you should use a tool like a parser generator when you have to parse untrusted data, rather than writing your own parser by hand.
Sujanalmost 8 years ago
Does anyone know if the subtitle hosting services added checks for this as well?
soylentcolaalmost 8 years ago
This is interesting to me for reasons outside of anything to do with exploits or malware. A while back I had a bit of a brain fart while playing with my Hue bulbs: would there be a way to use the subtitle track for a video to encode time-controlled data that can be sent to&#x2F;read by another application that sends these values to a set of Hue bulbs or similar devices for synchronized ambient lighting?<p>I figured that subtitles were an obvious place to start because you can download them in small files, play them back alongside a video, and they are designed to be &quot;timed out&quot; to synchronize with a video already.<p>I looked into it for a bit but never really found a way (within my abilities at least) to do anything like this from within a .srt file or similar. I&#x27;d be interested in hearing if anyone else has more info on how you might do more with that &quot;framework&quot; than displaying text on screen.
Filligreealmost 8 years ago
Speaking of Popcorn Time, last I heard there were a couple of forks and doubts about the safety of each and every one.<p>Is there any more clarity around the situation now?
captainmuonalmost 8 years ago
Wow, that is bad. I&#x27;m always amazed by such vectors in supposedly passive formats, like fonts, images, and so on.<p>There is no excuse that these kind of applications are not completely sandboxed. All you need is some kind of DLL, raw data in, raw pixels out. In case of hardware accelerated codecs, raw pixels in, surface pointer in, nothing out. There is no need to be able to access the filesystem, etc.. To render subtitles on top of the video it&#x27;s the same.<p>I wish a fraction of the energy we put into DRM would go into sandboxing instead.
评论 #14409234 未加载
评论 #14409871 未加载
评论 #14409563 未加载
评论 #14410796 未加载
评论 #14409330 未加载
评论 #14411670 未加载
评论 #14409452 未加载
评论 #14409244 未加载
adynatosalmost 8 years ago
If Popcorn Time renders all subtitles as HTML, would an exploit work if the subtitles were embedded in video container? Seed latest hit on Pirate Bay, root a lot of boxes. Yikes.
laniusalmost 8 years ago
Is Media Player Classic affected?
评论 #14413462 未加载
yqalmost 8 years ago
here is how it looks in real time:<p><a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=vYT_EGty_6A" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=vYT_EGty_6A</a>
Sujanalmost 8 years ago
Does this also work for Android versions of Kodi et al?
评论 #14409242 未加载
ntoalmost 8 years ago
does this work on Linux and Mac OS? or is it limited to Windows systems?
评论 #14409626 未加载
alexvayalmost 8 years ago
It&#x27;s sad that VLC checks updates over HTTP and HTTPS
评论 #14412395 未加载
jwilkalmost 8 years ago
What does the &quot;IPS Signatures&quot; section mean?
评论 #14409995 未加载
theGimpalmost 8 years ago
This is the sourced post <a href="http:&#x2F;&#x2F;blog.checkpoint.com&#x2F;2017&#x2F;05&#x2F;23&#x2F;hacked-in-translation&#x2F;" rel="nofollow">http:&#x2F;&#x2F;blog.checkpoint.com&#x2F;2017&#x2F;05&#x2F;23&#x2F;hacked-in-translation&#x2F;</a><p>The ingenuity that goes into RCE exploits never ceases to amaze (and terrify) me. Can&#x27;t wait for more details to be released.
lloydjatkinsonalmost 8 years ago
Hollywood is resorting to shitty tactics
评论 #14410468 未加载
评论 #14410469 未加载
threshalmost 8 years ago
Clearly VLC should be rewritten in Rust.
评论 #14409205 未加载
评论 #14409846 未加载
评论 #14409306 未加载
评论 #14409251 未加载
评论 #14409351 未加载
评论 #14409190 未加载
ackfooalmost 8 years ago
Treat data as data. Taking the Subrip format as an example, everything starts out fine so long as there is good bounds checking on the purely textual data.<p>Then, however, some dipshit decides to extend the format by adding tags for things like bold, italics, underline etc. This is completely unnecessary for subtitles because the emphasis can be inferred from the dialogue. The unnecessary complexity increase the potential for vulnerabilities.<p>Then some total dickhead decides to add an HTML5 tag, for no reason whatsoever, and it all goes to hell.<p>This is illustrative of the problem with most software: the absence of a clear-headed benevolent dictator to say, &quot;no; you are an idiot; we&#x27;re not doing that.&quot;
评论 #14409750 未加载
评论 #14410246 未加载
评论 #14409803 未加载
评论 #14409762 未加载
评论 #14410304 未加载
评论 #14410108 未加载
grahamsalmost 8 years ago
These exploits will go nowhere without a catchy name ala HEARTBLEED...<p>I vote for SUB-DURAL HEMATOMA
pawadualmost 8 years ago
&gt; The attack vector relies heavily on the poor state of security in the way various media players process subtitle files and the large number of subtitle formats.<p>Well, last years exploits against iOS, Android and Ubuntu where all related to media metadata processing. It is only natural that the same folks screw up this one too.
评论 #14409436 未加载